平滑页面滚动条不适用于alt语言(即更改的URL结构)

时间:2015-05-27 03:09:30

标签: javascript jquery wordpress qtranslate qtranslate-x

我有一个js,当单击更多按钮时,可以将平滑页面滚动到另一个位置。

它有效,但如果选择了该网站的其他语言则不行。当用户更改语言(例如,更改为西班牙语)时,网址会更改为www.example.com/ES。这似乎打破了平滑滚动,它适用于www.example.com

单击西班牙语中的more链接似乎完全重新加载页面,位于滚动位置,但没有平滑滚动。

这是我的js。如何在平滑滚动中包含alt语言网址?

(function($){

        $(function() {
    $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {

            var target = $(this.hash);
            target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
            if (target.length) {
                $('html,body').animate({
                    scrollTop: target.offset().top
                }, 1000);
                return false;
            }
        }
    });
});

})(jQuery);

编辑:作为参考,脚本在Wordpress'中排队。 functions.php和我正在使用的语言插件称为qTranslate

1 个答案:

答案 0 :(得分:0)

尝试更改此部分:

$('a[href*=#]:not([href=#])')

此选择器正在选择所有标记,尝试向其添加一个类。像这样:

$('.more a[href*=#]:not([href=#])')

此函数应该在.js文件上,而不是在functions.php文件中。如果你有不同的语言不应该影响你的脚本。