SORU
6 Temmuz 2009, PAZARTESİ


Nasıl anlatacak .() vurgulu beklemek?

Bir açılır menü var. Şimdi zaman aşağı kaymış birden çok düzeyleri, hoşuma gider eklemek bekleme süresi gibi 2 saniye önce kaybolur, böylece kullanıcı dönebilir, o zaman sonları .hover() yanlışlıkla.

Mümkün mü?

slayt için benim kod:

$('.icon').hover(function() {
        $('li.icon > ul').slideDown('fast');
    }, function() { 
        $('li.icon > ul').slideUp('fast');
    });

CEVAP
6 Temmuz 2009, PAZARTESİ


Bu ikinci işlevini çalıştırmadan önce 2 saniye (2000 milisaniye) bekletecek:

$('.icon').hover(function() {
    clearTimeout($(this).data('timeout'));
    $('li.icon > ul').slideDown('fast');
}, function() {
    var t = setTimeout(function() {
        $('li.icon > ul').slideUp('fast');
    }, 2000);
    $(this).data('timeout', t);
});

Ayrıca Kullanıcı geri çılgın davranışı engellemek için geldiğinde zaman aşımı temizler.

Bu çok zarif bir şekilde, ancak değildir. Muhtemelen de bu sorunu çözmek için tasarlanmıştır hoverIntent eklentisi, kontrol etmelisiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • nigahiga

    nigahiga

    21 Temmuz 2006