window.location.hash更改时的动画

时间:2013-09-18 15:55:57

标签: javascript jquery

所以我试图获得一个类似网站的图库,我的文章遍布整个页面,我的想法是,当我从用户那里得到一个动作时,该网站跳转到下一篇文章。 到目前为止,我已经完成了很多工作,并且有几天我在javascript之后,我正在使用jquery,代码就是这个

$('body').ready(function () {
    var tpScroll = 0;
    var SelArticles = $('#content').find('.bgjs');
    var NumArticles = SelArticles.length;
    window.location.hash = SelArticles.first().attr('id');


    $(window).bind('mousewheel', function (event, delta, deltaX, deltaY) {
        event.preventDefault();
        console.log(delta, deltaX, deltaY);
        console.log(tpScroll);
        if (delta < 0) {
            if (tpScroll >= (NumArticles - 1)) {
                tpScroll = 0;
            } else {
                tpScroll = tpScroll + 1;
            }
            var pgid = SelArticles.eq(tpScroll).attr('id');
            window.location.hash = pgid;
        } else {
            if (tpScroll <= 0) {
                tpScroll = (NumArticles - 1);
            } else {
                tpScroll = tpScroll - 1;
            }
            var pgid = SelArticles.eq(tpScroll).attr('id');

            window.location.hash = pgid;
        }
    });
});

我设法处理mousewheel事件以进行哈希更改,但我想阻止默认滚动到内容添加平滑动画。 我不是javascript中的怪物(也不是jquery),你可以看到,但它有点工作,我甚至不知道是否有可能预先知道这种行为,或解决它......任何建议?

1 个答案:

答案 0 :(得分:0)

我刚刚彻底改变了方法,我用wiselinks处理历史apis,结果证明是一个很好的选择