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

  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013
  • Viktorija A.

    Viktorija A.

    28 Mart 2009