SORU
29 EYLÜL 2011, PERŞEMBE


Nasıl bir DIV öğesi kaydırma, sayfa kaydırma önlemek için?

Ve bir div içinde iken kaydırmak için vücudun yeteneğini engellemek için çeşitli fonksiyonlarını yapılmıştır denedim ve çalışması gereken bir fonksiyonu birleştirdik.

$('.scrollable').mouseenter(function(){
                    $('body').bind('mousewheel DOMMouseScroll', function() {
                        return false
                    });
                    $(this).bind('mousewheel DOMMouseScroll', function() {
                        return true
                    });
                });
                $('.scrollable').mouseleave(function(){
                    $('body').bind('mousewheel DOMMouseScroll', function() {
                        return true
                    });
                });
  • Bu hala kabın içinde mümkün kaydırma istediğim gibi tüm kaydırma durduruluyor
  • Bu da fare bırakın devre dışı bırakılması değildir

Herhangi bir fikir, ya da bunu yapmanın daha iyi bir yolu?

CEVAP
29 EYLÜL 2011, PERŞEMBE


Güncelleme 2:Benim çözüm tarayıcı doğal tamamen imleç DİV içinde olduğunda () kaydırma devre dışı bırakmak ve daha sonra el ile JavaScript ile DİV (.scrollTop özelliğini ayarlayarak) kaydırma dayanmaktadır. Alternatif ve IMO daha iyi bir yaklaşım, sayfa kaydırma, ama DİV kaydırma değil önlemek için tek seçerek tarayıcının kaydırma devre dışı bırakmak için. Bu çözüm gösteren aşağıda Rudie cevabı kontrol edin.


Al bakalım:

$( '.scrollable' ).bind( 'mousewheel DOMMouseScroll', function ( e ) {
    var e0 = e.originalEvent,
        delta = e0.wheelDelta || -e0.detail;

    this.scrollTop  = ( delta < 0 ? 1 : -1 ) * 30;
    e.preventDefault();
});

Canlı demo:http://jsfiddle.net/XNwbt/458/

El ile kaydırma konumunu ayarlamak ve varsayılan davranış DİV ya da tüm web sayfasını kaydırmak için olacaktı) önlemek.

Güncelleme 1:Chris kaydetti açıklamaları aşağıda, daha yeni sürümleri DV delta bilgi iç içe içinde .originalEvent nesne, yani bir WordPress kullanmak değil ortaya kendi özel bir Olay nesnesi artık ve biz almak için bu doğal Olay yerine nesne.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bratayley

    Bratayley

    30 Aralık 2010
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • finalcall07

    finalcall07

    11 NİSAN 2008