2013-04-15 349 views
0

我一直在這個動畫水平偏移div,在mousescroll事件。 這是我迄今爲止所做的工作的鏈接,有人可以看到我做錯了什麼嗎?jquery動畫水平滾動鼠標滾動事件

動畫發生在點擊動作我需要相同的mousescroll。 http://jsfiddle.net/laksdesign/WvRR6/

jQuery(document).ready(function($) { 

    $(".scroll").click(function(event) { 
     event.preventDefault(); 
     $('#wrapper').animate({ scrollLeft: $('#wrapper').scrollLeft() + $(this.hash).offset().left }, 800); 
    }); 

    $('body').bind('mousewheel', function(scroll){ 
     if(scroll.originalEvent.wheelDelta /120 > 0) { 
      scroll.preventDefault(); 
      $('#wrapper').animate({ scrollLeft: $('#wrapper').scrollLeft() + $(this.hash).offset().left }, 800); 
     } else{ 

     } 
    }); 
}); 

有我了基於mousescroll動畫另一參考: http://jsfiddle.net/laksdesign/EATaU/

+0

你需要這個腳本:https://raw.github.com/brandonaaron/jquery-mousewheel/master/jquery.mousewheel.js – Dom

+0

@Dom我相信用戶可以使用幾十個腳本,對嗎? –

+0

@Evan我知道,只是給他一個例子。 – Dom

回答

1

爲了捕捉mousescroll事件的jQuery,你需要使用一個插件或一些外部功能。我會建議使用插件而不是重新發明輪子。注意你提供的參考文件是如何使用mousewheel.js文件 - 這是你需要使用的插件。

有關如何使用該插件

一個例子插件,您可以使用一些更多信息,請參閱this answer

  • BrandonAaron.com - 我不允許鏈接到這個網站,因此谷歌它來代替。

你會使用這個插件像這樣:

// using bind 
$('#my_elem').bind('mousewheel', function(event, delta) { 
    console.log(delta); 
}); 

由於@Dom建議在評論上述用戶,另一種廣泛使用的插件是:

+0

非常感謝回覆。 我確實嘗試了一下,最初哪些力量似乎走在我教的div的動畫的正確方向。 但jsfiddle下面的鏈接是我正在尋找的正確的一個,與動畫水平發生與mousescroll目前它happnes是一個垂直滾動 http://jsfiddle.net/laksdesign/EATaU/1/ – user2283274

+0

@ user2283274我在那個鏈接上得到了一個404 - 你是說它仍然不能正常工作嗎?有什麼問題? –

+0

嘿埃文謝謝你的答覆,我想出了我一直在尋找的方式。這裏是最終版本http://jsfiddle.net/laksdesign/kmABb/的鏈接 – user2283274