Javascript 平滑滚动历史记录,无散列

Javascript 平滑滚动历史记录,无散列,javascript,jquery,smooth-scrolling,Javascript,Jquery,Smooth Scrolling,我正在使用这个jquery脚本进行平滑滚动,但是我不知道如果url上没有散列(#),如何保持锚点更改的历史记录 我需要用户使用浏览器的后退和前进按钮,因此,如果没有任何内容将提取维护这些操作的哈希,我想知道如何将地址栏上的“#”更改为“/” 谢谢 (function($) { $.fn.SmoothAnchors = function() { function scrollBodyTo(destination, hash) { var scr

我正在使用这个jquery脚本进行平滑滚动,但是我不知道如果url上没有散列(#),如何保持锚点更改的历史记录

我需要用户使用浏览器的后退和前进按钮,因此,如果没有任何内容将提取维护这些操作的哈希,我想知道如何将地址栏上的“#”更改为“/”

谢谢

(function($) {

    $.fn.SmoothAnchors = function() {

        function scrollBodyTo(destination, hash) {

            var scrollmem = $(document).scrollLeft();
            window.location.hash = hash;
            $(document).scrollLeft(scrollmem);
            $("html,body").animate({
                scrollLeft: destination
            }, 500);

        }

                if (typeof $().on == "function") {
            $(document).on('click', 'a[href^="#"]', function() {

                var href = $(this).attr("href");

                if ($(href).length == 0) {

                    var nameSelector = "[name=" + href.replace("#", "") + "]";

                    if (href == "#") {
                        scrollBodyTo(0, href);
                    }
                    else if ($(nameSelector).length != 0) {
                        scrollBodyTo($(nameSelector).offset().left, href);
                    }
                    else {
                        // fine, we'll just follow the original link. gosh.
                        window.location = href;
                    }
                }
                else {
                    scrollBodyTo($(href).offset().left, href);
                }
                return false;
            });
        }
        else {
            $('a[href^="#"]').click(function() {
                var href = $(this).attr("href");

                if ($(href).length == 0) {

                    var nameSelector = "[name=" + href.replace("#", "") + "]";

                    if (href == "#") {
                        scrollBodyTo(0, href);
                    }
                    else if ($(nameSelector).length != 0) {
                        scrollBodyTo($(nameSelector).offset().left, href);
                    }
                    else {
                        // fine, we'll just follow the original link. gosh.
                        window.location = href;
                    }
                }
                else {
                    scrollBodyTo($(href).offset().left, href);
                }
                return false;
            });
        }
    };
})(jQuery);

$(document).ready(function() {
    $().SmoothAnchors();
});