鼠标滚动上的jQuery转到下一个id

时间:2013-11-18 11:16:18

标签: javascript jquery scrollto mousewheel

我正在尝试制作一个脚本,当我向下滚动时转到下一个id,当我向上滚动时转到上一个id。

我只能使用click()工作,但我需要相同的代码才能使用mousewheel()

这是我的代码:

    <div id="sidebar"> 

       <ul>
            <li><a id = "first_info" href="#">1</a></li>
            <li><a id = "second_info" href="#">2</a></li>
            <li><a id = "third_info" href="#">3</a></li>
            <li><a id = "fourth_info" href="#">4</a></li>
            <li><a id = "fifth_info" href="#">5</a></li>
            <li><a id = "sixth_info" href="#">6</a></li>
        </ul>
    </div>

$("#sidebar > ul > li > a").click(function(e) { 
      // Prevent a page reload when a link is pressed
    e.preventDefault(); 
      // Call the scroll function
    goToByScroll($(this).attr("id"));        
});

这是我单击列表项时的代码,这是我尝试在鼠标滚轮上使用的代码,但没有成功。

$('body').mousewheel(function(event, delta) {


    if (delta > 0) {
    $("#sidebar > ul > li > a").attr("id")); 
    } else {
            $("#sidebar > ul > li > a").attr("id")); 
    }

    event.preventDefault();
});

1 个答案:

答案 0 :(得分:0)

试试这个

var lastScrollTop = 0;
$(window).scroll(function(event){
   var st = $(this).scrollTop();
   if (st > lastScrollTop){
       // downscroll code
       window.location.href = "#down";
   } else {
      // upscroll code
       window.location.href = "#up";
   }
   lastScrollTop = st;
});