jQuery problem
 
halo 10. jul 2012 21:36:17 Pridružen od:
16. maj 2010
92 objav
17 3 1
#1

Že kakšno uro poskušam usposobiti jQuery efekt, pa mi google ne pomaga kaj dosti. Težava je sledeča... imam 2 diva, enega nad drugim. V prvem je link <a>, ki mora ob mouseover prikazati spodnji div, ki je neviden. Težava je, kdaj se ta div skrije. Rad bi, da je div viden dokler se miš nahaja na prvem ali drugem divu.

Predvidevam da obstaja preprosta rešitev ampak je na žalost ne najdem.

Prilagam kodo.


$('a.show_box_2').live('mouseover mouseenter', function()
{
$("#box_2").slideDown();
});

$('#box_2').live('mouseout mouseleave', function()
{
$("#box_2").slideUp();
});

<div id="box_1">
Napis
<a class="show_box_2">Show</a>
</div>
<div id="box_2" style="display:none">
Text
</div>

Ta koda normalno prikaže 2. div, zapere pa ga že ko pridem z miško na njega.

Pozna kdo rešitev? Hvala


všeč(0) ni všeč(0) spam(0)
 
Mešetar 10. jul 2012 21:50:13 Pridružen od:
24. nov 2010
1543 objav
1945 962 114
#2

ja, preveri e.Target




  1. naredi test case na http://jsfiddle.net/

  2. taka vprasanja se ti velik bolj splaca prasat na stackoverflow


všeč(1) ni všeč(0) spam(0)
 
kelvan 10. jul 2012 22:04:19 Pridružen od:
19. okt 2007
891 objav
658 122 26
#3

Poskušaj s tem (malo sem prečistil kodo iz enega mojega menija):


var mmto;
$('#div1,#div2,#div1 a').mouseleave(function () {
mmto = setTimeout(function () {
$('#div2').slideUp(400);
}, 300);
})
.mouseenter(function () {
if (mmto) mmto = clearTimeout(mmto);
$('#div2').slideDown(400);
});
všeč(1) ni všeč(0) spam(0)
 
Yakamashi 11. jul 2012 07:24:45 Pridružen od:
21. mar 2012
35 objav
90 6 0
#4

HTML:



<div id="box_1">

<strong>Napis</strong>

<a class="show_box_2">Show</a>

<div id="box_2" style="display:none">

Text

</div>

</div>



Jaz sem tale hidden container kar vgnezdil, je pa seveda odvisno od tvoje situacije.



JS:



$('a.showbox2').live('mouseover mouseenter', function()

{

$("#box_2").slideDown();

});



$('#box1').live('mouseleave', function()

{

$('#box
2').slideUp();

});​



Zdej, ker je zadeva vgnezdena, lahko event kličem kar na #box_1. Kakorkoli, men se načeloma zdi, da ti zadeva nagaja, ker si zgoraj uporabil tako "mouseout" kot "mouseleave" eventa, mouseout == event bubbling == ponavad ne dela.


všeč(1) ni všeč(0) spam(0)
 
halo 11. jul 2012 07:59:31 Pridružen od:
16. maj 2010
92 objav
17 3 1
#5

Hvala vsem za hitro pomoč. Yakamashi, stvar deluje :)

Mi je pa zanimivo da sem imel tudi takšno opcijo napisano pa ni delala. Ta deluje, to je važno. 1000x hvala


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se