2012-02-01 119 views
2

我有以下的html頁面。當我滾動鼠標時,爲什麼警告不起作用?jQuery滾動綁定不起作用

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html lang="en"> 
    <head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 


     <script> 
     $(window).scroll(function(){ 
       alert("scrolling"); 
      }); 
     </script> 
    </head> 
    <body> 

    </body> 
    </html> 

編輯:它的工作原理當頁面右側的滾動條和滾動頁面向下移動。但是我希望它在空白頁面上工作,例如。

EDIT2:我已將document.body更改爲窗口,但具有相同的問題。

EDIT3:那麼,我來結果是我要趕鼠標滾輪事件

+1

你是否嘗試綁定到身體以及HTML? $(「body,html」) – 2012-02-01 09:23:39

+0

我試過了,沒有結果 – 2012-02-01 09:26:59

+0

你應該如何滾動空白頁? % - ( – 2012-02-01 09:42:26

回答

4

它不是身體,而是窗戶。
但是我會在文檔準備好之後再把它放進去。
這裏有一個工作代碼:

$(document).ready(function() 
    { 
     console.log('ready'); 
     $(window).scroll(function() 
     { 
      console.log('scroll'); 
     }); 
    }); 

在回答您的編輯3
趕上鼠標滾輪事件中使用jQuery的mousewheel_plugin看到這個example
所以,你的代碼將

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript" src="jQuery_mousewheel_plugin.js"></script> 
<script> 

    var intOverallDelta = 0; 

    $(document).ready(function() 
    { 
     console.log('ready'); 
     $(document.body).mousewheel(function(objEvent, intDelta) 
     { 
      if (intDelta > 0) 
      { 
       intOverallDelta++; 
       console.log('up - (' + intOverallDelta + ')'); 
      } 
      else if (intDelta < 0) 
      { 
       intOverallDelta--; 
       console.log('down - (' + intOverallDelta + ')'); 
      } 
     }); 
    }); 

</script> 
+0

它在空白頁面上不起作用。請參閱edit1 – 2012-02-01 09:39:32

+0

你應該如何滾動空白頁面?% - ( – 2012-02-01 09:43:54

+0

我已回答你關於問題的意見 – 2012-02-01 09:46:27

2

試試它的窗口

$(window).scroll(function(){ 
    alert("scrolling"); 
}); 

閱讀手冊:http://api.jquery.com/scroll/

+0

...這裏是一個例子:http://jsfiddle.net/Dutgp/1/ – Niklas 2012-02-01 09:33:15

+0

刪除高度:1000px;樣式和這個例子將不起作用 查看編輯! – 2012-02-01 09:35:05

1

你的選擇是錯誤的,document.body不會匹配任何東西...

+0

查看編輯請 – 2012-02-01 09:38:07

+0

這不是真的:document.body存在於jquery中,只需嘗試'$(document.body).click(function(){console.log('click');});'...事實是,按照這個問題的要求,你需要使用'window'而不是 – 2012-02-01 09:40:01