Javascript单页滚动脚本一个接一个地滚动到每个单击的链接

时间:2015-02-24 13:24:10

标签: javascript jquery scroll

我有一个页面分为一个部分。除了一件事,它完美地工作,脚本滚动页面到特定部分,但如果我将点击多个链接,它将一个接一个地发送给每个点击的链接。

jQuery(window).bind("load", function () {
    var hash = window.location.hash;

    hash = hash.replace("#", "");

    var elem = jQuery(".pb-line-css-group-" + hash);

    menu_scroll_to(elem);
});

jQuery(document).ready(function () {

    jQuery(".menu-item A").click(function () {
        var hash = jQuery(this).attr('href');

        hash = hash.replace("#", "");
        hash = hash.replace("/", "");

        var elem = jQuery(".pb-line-css-group-" + hash);

        menu_scroll_to(elem);
    });
});

function menu_scroll_to(elem) {

    if (elem) {
        jQuery('html, body').animate({
            scrollTop: elem.offset().top - 70
        }, 2000, "easeOutQuint");
    }

}

我想滚动到只有首次点击的链接,如果我在滚动期间点击另一个链接将不会滚动到那些位置

1 个答案:

答案 0 :(得分:0)

我认为你需要一个特殊的旗帜,例如' window.scrolling',在滚动之前将其设置为true,在滚动之后将其设置为false。当用户尝试点击链接时,当第一个工作时,它什么也没做。