benim sorunum takip ediyor mouseLeave: Ben bir tetikleyici (a) ve bir pop-up (div) var. Divan, çapanın içinde yuvalanmış.onay
- Üzerine geldiğimde, div'in görünmesini istiyorum.
- Birinden div'a gittiğimde, görünür kalmasını istiyorum.
- Boşluktan ayrıldığımda kapanmasını istiyorum. Ben üzerinde gezdirin ve div girmeden ayrıldığınızda
- , ben div kapatmak istiyorum.
Ben de bunu anladım, ama şimdi hayır zorunluluğu ile boğuşuyorum. 2. Mouseleave'yi kontrol ederken, div üzerinde mouseenter olup olmadığını kontrol ediyorum. Öyleyse, mouseleave iptal etmek istiyorum. Eğer değilse, div'u kapatmak istiyorum.
Neyi yanlış yapıyorum? Bunu yapmak için doğru yol bu mu? İşte
<a href="#" class="popup_toggle" style='display:block;width:50px;height:50px;border:1px solid red;position:relative;'>Toggle</a>
<div class="popup_div" style='position:absolute;top:50px;left:0px;border:1px solid blue;display:none;'>Popup</div>
jQuery var:
İşte biçimlendirme var
$('.popup_toggle').mouseenter(function() {
var element = $(this).next('.popup_div');
$.data(this, 'timer', setTimeout(function() {
element.show(100);
}, 500));
});
$('.popup_toggle').mouseleave(function() {
clearTimeout($.data(this, 'timer'));
if($('.popup_div').mouseenter==true)
{
return false;
}
else
{
$('.popup_div').hide(100)
};
});
Cevabınız ve bir örnek oluşturduğunuz için teşekkür ederiz! Ama baktıktan sonra bile, orada ne yaptığınız hakkında hiçbir fikrim yok. JQuery'de ya da genel olarak programlamada daha önce hiç deneyime sahip olmadığımı itiraf etmeliyim ve onunla çalışırken problemler ortaya çıkması halinde kendi kodumu koruyabilmem gerekiyor. İlk cevabın neden hatalı kodlandığını söyleyemem ama şu an bu yaklaşıma gidiyorum çünkü aslında bunu anlayabiliyorum :) – chabuya