我使用jQuery脚本实现视差效果。该脚本可以与旧版jQuery(直到1.11.3版)一起正常工作,但是当我将其替换为最新版本时,平滑的滚动效果不起作用。现在有人不再支持代码的哪一部分了吗?
$(document).ready(function() {
$('a[href*=#]').each(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname && this.hash.replace(/#/, '')) {
var $targetId = $(this.hash),
$targetAnchor = $('[name=' + this.hash.slice(1) + ']');
var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;
if ($target) {
var targetOffset = $target.offset().top;
$(this).click(function() {
$("#nav li a").removeClass("active");
$(this).addClass("active");
$('html, body').animate({
scrollTop: targetOffset
}, 1000);
return false;
});
}
}
});
});
答案 0 :(得分:1)
它是选择器。
将$('a[href*=#]')
替换为$('a[href*="#"]')
。
从来都不是有效的选择器。
当他们修复它时,所有使用有缺陷的(但直到那时为止)语法的脚本都损坏了。
在当时引起了很多动荡,尤其是因为许多“专业” WordPress主题都在使用它并整夜休息。当人们意识到自己购买的产品未能达到他们认为的基本功能时,看到他们的反应很有趣。