2012-08-02 152 views
4

試着讓它根據頁面左側或右側的點擊來滾動。似乎沒有工作..也許我的語法不正確或我用來找到頁面的左側或右側的方法是?onclick滾動事件 - 語法?

<body onclick="scrollevent()">

<script> 
function scrollevent() 
{ 
    var y=0; 
    var pwidth = $('#slideshow').width(); 
    var mouseY = ev.clientY; 

    if (mouseY<(pwidth/2) { 
     $('#slideshow').animate({scrollLeft: "+=400"}); 
    } 
    else{ 
     $('#slideshow').animate({scrollLeft: "-=400"}); 
    } 
} 
</script> 
+0

它不工作嗎?你有沒有收到任何錯誤信息? – SomeKittens 2012-08-02 17:42:52

+0

意想不到的令牌{在線>>>>>>如果(mouseY <(pwidth/2){ – rootsup 2012-08-02 17:48:37

+0

回答!希望它有幫助。 – SomeKittens 2012-08-02 17:51:14

回答

1

您可以使用pageXevent對象不pageY屬性,嘗試以下操作:

相對於文檔的左邊緣的鼠標位置。

$(document).click(function(e){ // or $(document).on('mousemove', function(e){ 
    var mp = e.pageX; 
    var w = $(window).width()/2; 
    if (mp < w) { 
     $('#slideshow').animate({scrollLeft: "+=400"}); 
    } else { 
     $('#slideshow').animate({scrollLeft: "-=400"}); 
    } 
}) 

請注意,在代碼中的語法錯誤,你已經錯過了)

if (mouseY<(pwidth/2) { 

應該是:

if (mouseY < (pwidth/2)) { 
+0

http://elijahhoffman.com/testsite/ <沒有骰子,我是否仍然需要通過body onclick調用此函數?我不擅長於javascript。 – rootsup 2012-08-02 18:17:19

+0

@rootsup不,您應該刪除'onclick'屬性身體 – undefined 2012-08-02 18:18:47

+0

它是目前,沒有骰子? – rootsup 2012-08-02 18:30:45

0

您正在使用clientY。

使用clientX而不是clientY來檢查它是在頁面的左側還是右側進行單擊。

演示可以在這裏找到:http://jsfiddle.net/codebombs/UT9xK/

+0

即時消息一個白癡!哈哈 – rootsup 2012-08-02 18:31:29

1

的.animate()方法可以讓我們在任何數字CSS屬性創建動畫效果。

.scrollLeft()是一個jQuery函數,而不是CSS屬性。

UPD:我的壞,因爲文檔說:

除了樣式屬性,一些非樣式屬性,如scrollTop的和scrollLeft,以及自定義屬性,可以是動畫。

+0

滾動功能工作正常時調用它自己的,這是休息 – rootsup 2012-08-02 17:54:34

0

行:

if (mouseY<(pwidth/2) { 

缺少一個關閉)。試試這個:

if (mouseY<(pwidth/2)) {