miras
30.11.2013, 14:00:22
Witam, mam następujący problem:
function pokaz(diw) {
funkcja pokazuje diw o podanym id
}
function schowaj(diw) {
funkcja chowa diw o podanym id
}
<span OnMouseOver="pokaz('#test1');" onMouseOut="schowaj('#test1');"> // <- tutaj wlasnie mam problem, bo chowanie nie działa jak trzeba..
<div id="test1" style="display: none;">
tu jakies divy, odnosniki, tekst itp.
</div>
</span>
mam nadzieję, że rozumiecie o co mi chodzi... proszę o pomoc..
może, żeby było łatwiej pomóc podam dokładny kod:
function schowaj(diw) {
$("#"+diw).hide();
}
function pokaz(diw) {
$("#"+diw).show();
}
<ul class="menu">
{foreach item=item from=$announcementCategorys}
{if $item.children==0}
<li style="float: left; height: 5px;" class="{php}$i++;if($i%2==0): echo 'row1'; else: echo 'row2'; endif;{/php}">
<p onMouseOver="pokaz('pop{php}echo $i;{/php}');" onMouseOut="schowaj('pop{php}echo $i;{/php}');">
<a href
="{$smarty.const.APP_URL}kategoria,{rewrite text=`$item.name`},{$item.id}.html"><span
>{$item.name
} ({$item.count})</span
></a
>
<div id="pop{php}echo $i;{/php}" style="display: none;">
<div style="width: 200px; background: #fff; position: absolute; float: left; display: block; margin-top:-18px; margin-left: 180px; z-index: 99999;">
<ul class="menu">
{foreach item=sub from=$announcementCategorys}
{if $sub.children==$item.id}
<li
><a href
="{$smarty.const.APP_URL}kategoria,{rewrite text=`$sub.name`},{$sub.id}.html"><span
>{$sub.name
} ({$sub.count})</span
></a
></li
> {/if}
{/foreach}
</ul>
</div>
{/if}
</li>
</p>
{/foreach}
</ul>
Damonsson
30.11.2013, 14:25:51
<div id="test1" style="display: none;">test
</div>
$( "span" ).mouseover(function() {
$('#test1').show();
})
.mouseout(function() {
$('#test1').hide();
});
miras
30.11.2013, 14:27:28
Ja muszę do funkcji js podawać parametr z ID diva, który chcę schowac/pokazać..
SmokAnalog
30.11.2013, 14:27:50
Masz tyle błędów w tym kodzie, że aż nie wiadomo od czego zacząć.
Najpierw usuń te absurdalne funkcje pokaz() i schowaj(). Robienie funkcji, które wywołują jedną metodę to zły pomysł.
Damonsson
30.11.2013, 14:32:56
Losujesz to ID, czy skądś się bierze?
miras
30.11.2013, 19:05:32
id się bierze z pętli (1,2,3,4,5,6 itp) ekhm, jakich błędów? to jest kawałek kodu gotowca, nie będę mówił czyjego autorstwa ;>
SmokAnalog
30.11.2013, 19:09:49
Kogoś, kto ma problem z prawidłowym domykaniem tagów HTML. Nie wiem czy jQuery prawidłowo przeparsuje ten kod, bo masz <p> w <li>, ale zamykasz najpierw <li>, a potem <p>.
dosłałeś odp raz już
http://forum.php.pl/index.php?showtopic=223711&hl= po poco ciągle pytasz o to samo ?
http://forum.php.pl/index.php?showtopic=224100&hl= W każdym wątku dajesz to samo tylko inny przykład... Myśl trochę, bo przychodzisz na forum systematycznie po to samo zamiast pomyśleć...
miras
30.11.2013, 20:39:01
Jeżeli bym mógł tego użyć to bym użył! strona nie jest w html5 więc nie mogę..
to co za problem zmienić doctype? itak twoja składnia nie jest pasrosowalna przez validator wiec nie robi Ci to większej różnicy, poza tym po to jest html5 żeby go używać.. a nie przestarzałego już html4 xx
poza tym Damonsson dał już Ci rozwiązanie, po raz kolejny..
miras
30.11.2013, 21:01:07
Dobra.. dzięki za Wasze podpowiedzi, ale wystarczyło zmienić znacznik <span> na znacznik blokowy np. <pre> i wszystko działa, dzięki wszystkim.
polecam kurs podstaw htmla i js
miras
30.11.2013, 21:11:23
Szkoda, że jak nie potrafisz pomóc to z góry zakładasz, że ktoś jest na tak niskim poziomie, jeżeli potrzebujesz kursu - korzystaj, wystarczyło zmienić jeden znacznik i wszystko działa, pewnie przeoczyłeś ten kawałek i dlatego nie pomogłeś. sorry za off, ale nie mogłem się powstrzymać.
stary raz Ci pomogłem, wiec nie będę robił drugi raz tego samego... Wiesz do czego wgl służy znacznik pre? bo nie wydaje mi się... Poza tym jak już inni powiedzieli, w tym fragmencie:
Kod
<ul class="menu">
{foreach item=item from=$announcementCategorys}
{if $item.children==0}
<li style="float: left; height: 5px;" class="{php}$i++;if($i%2==0): echo 'row1'; else: echo 'row2'; endif;{/php}">
<p onMouseOver="pokaz('pop{php}echo $i;{/php}');" onMouseOut="schowaj('pop{php}echo $i;{/php}');">
<a href="{$smarty.const.APP_URL}kategoria,{rewrite text=`$item.name`},{$item.id}.html"><span>{$item.name} ({$item.count})</span></a>
<div id="pop{php}echo $i;{/php}" style="display: none;">
<div style="width: 200px; background: #fff; position: absolute; float: left; display: block; margin-top:-18px; margin-left: 180px; z-index: 99999;">
<ul class="menu">
{foreach item=sub from=$announcementCategorys}
{if $sub.children==$item.id}
<li><a href="{$smarty.const.APP_URL}kategoria,{rewrite text=`$sub.name`},{$sub.id}.html"><span>{$sub.name} ({$sub.count})</span></a></li>
{/if}
{/foreach}
</ul>
</div>
{/if}
</li>
</p>
{/foreach}
</ul>
Jest błąd na błędzie, wiec komentarze typu:
Cytat
jeżeli potrzebujesz kursu - korzystaj
Zachowaj sobie dla siebie, bo jakbyś był taki dobry to byś nie przyszedł na forum i nie pytał nas po raz enty o to samo i tyle...
miras
30.11.2013, 21:18:22
Pokaż mi tą masę błędów poza tym, co zostało napisane na górze czyli: zamykasz najpierw <li>, a potem <p>. ?
chociażby używanie style w kodzie... jeśli masz możliwość użycia class czy nadania styli dla id to nadajesz je tam a nie piszesz style=".." a potem jeszcze dajesz class , poza tym tutaj:
Kod
<span OnMouseOver="pokaz('#test1');" onMouseOut="schowaj('#test1');"> // <- tutaj wlasnie mam problem, bo chowanie nie działa jak trzeba..
<div id="test1" style="display: none;">
tu jakies divy, odnosniki, tekst itp.
</div>
</span>
W span umieszczasz div? itd
miras
30.11.2013, 21:26:56
Radzę poszukać znaczenia słowa BŁĄD, ehh, fajnie, że jak Ty coś testujesz to od razu wszystko dajesz w oddzielnych plikach, czy na szybko piszesz style=""...
@@ do pytania czy w <span> umieszczam <div> - BINGO, tutaj leżał cały problem, span jest znacznikiem liniowym, a trzeba było użyć blokowego

Kończę w tym wątku.
dobra żeby nie było że rzucam suche epitety:
Cytat
Line 10, Column 41: Element div not allowed as child of element span in this context. (Suppressing further errors from this subtree.)
Kod
<!doctype html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<span OnMouseOver="pokaz('#test1');" onMouseOut="schowaj('#test1');">
<div id="test1" style="display: none;">
tu jakies divy, odnosniki, tekst itp.
</div>
</span>
</body>
</html>
http://validator.w3.org/checkWklej sobie, sprawdź sam a potem zajrzyj do kursu htmla

i trochę więcej luzu stary...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.