使用鼠标滚轮事件更改window.location.hash

时间:2014-10-08 08:10:52

标签: javascript jquery scroll mouseevent scrollto

我使用ScrollTo和localscroll来导航我正在建设的网站,但我希望能够使用从一个部分到另一个部分的滚动,但是我选择了一个顺序。我正在看鼠标滚轮事件来实现这一目标(不知道这是否可行)。设置是9个div,以方形图案排列在div大小的300%x300%的窗口大小内,类似于jsfiddle(但它覆盖了整个窗口)。

我试图让你的鼠标滚轮事件改变window.location.hash因为(我认为)会使localscroll使用它的常规效果来在div之间导航。

这是我试过的代码,数组是我想要显示div的顺序:

    var mysections=[
    "5",
    "2",
    "6",
    "8",
    "4",
    "7",
    "9",
    "1",
    "3"
]

var nextsectionindex=0

function rotatesection(e){
    var evt=window.event || e 
    var delta=evt.detail? evt.detail*(-120) : evt.wheelDelta 
    nextsectionindex=(delta<=-120)? nextsectionindex+1 : nextsectionindex-1 
    nextsectionindex=(nextsectionindex<0)? mysections.length-1 : (nextsectionindex>mysections.length-1)? 0 : nextsectionindex 
    window.location.hash=mysections[nextsectionindex] 
}

但我无法让它工作,上面的代码中是否有遗漏或错误?如何测试delta是否正在变化(因为我没有任何滚动条)?

0 个答案:

没有答案