我有一个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
答案 0 :(得分:0)
尝试更改此部分:
$('a[href*=#]:not([href=#])')
此选择器正在选择所有标记,尝试向其添加一个类。像这样:
$('.more a[href*=#]:not([href=#])')
此函数应该在.js文件上,而不是在functions.php文件中。如果你有不同的语言不应该影响你的脚本。