禁用其他页面上的动画

时间:2014-01-24 09:49:35

标签: javascript jquery

我希望在加载带有此代码的html页面时激活此动画,当我点击另一个Ajax页面选项卡时,我想要禁用此功能,因为此动画此刻动画每个ajax页面上的div并且我想要加载这仅限于特定页面。

这怎么可能?

$(window).scroll(function () {
if ($(this).scrollTop() < 200) {
    $(".example").animate({
        top: "0px"
    }, {
        duration: 50,
        easing: 'easeInOutCubic'
    });
} else {
    $(".example").animate({
        top: "-50px"
    }, {
        duration: 50,
        easing: 'easeInOutCubic'
    });
}
});

1 个答案:

答案 0 :(得分:0)

如果你在Ajax页面中使用哈希,你可以在执行动画之前轻松检查这个是否在页面上:

$(window).scroll(function () {
var hash = window.location.hash;
if(hash == "foobar"){
    if ($(this).scrollTop() < 200) {
        $(".example").animate({
            top: "0px"
        }, {
            duration: 50,
            easing: 'easeInOutCubic'
        });
    } else {
        $(".example").animate({
            top: "-50px"
        }, {
            duration: 50,
            easing: 'easeInOutCubic'
        });
    }
}
});

请注意,更改页面后必须确保这一点。您还可以更改哈希:

window.location.hash = "foobar";