gpt4 book ai didi

jQuery TypeError .offset 未定义

转载 作者:行者123 更新时间:2023-12-01 04:49:17 25 4
gpt4 key购买 nike

已经尝试解决这个问题好几个小时了,但就是无法解决。

环境是 WordPress 我正在使用平滑滚动功能,当我选择一个页面上的链接到另一页面上的某个位置时,该功能将平滑滚动。

我收到的错误是...

类型错误:$(...).offset(...) 未定义

有问题的代码行是...

  scrollTop: $(elem).offset().top - headerHeight

我的整个功能是

jQuery(document).ready(function($) {

var headerHeight = $('#header-wrap').height(); //When the header position is fixed

$('a').click(function(){
var hashEle = $(this).attr('href').split('#');
if (hashEle.length > 1) {
if (hashEle[1] == 'top') {
$('body, html').animate({
scrollTop: 0
},800);
} else {
jQuery('body, html').animate({
scrollTop: $('#'+ hashEle[1]).offset().top - headerHeight
},800);
}
};
})
// find element from url
hashname = window.location.hash.replace('#', '');
elem = $('#' + hashname);
if(hashname.length > 1) {
if(hashname == 'top') {
$('body, html').animate({
scrollTop: 0
},500);
} else {
$('body, html').animate({
scrollTop: $(elem).offset().top - headerHeight
},800);
}
};

});

我在这里快要疯了,代码工作正常,但它与 WooCommerce 产生了冲突,我只是希望它不要抛出错误。有人可以告诉我为什么这会造成麻烦,抱歉新手问题!

最佳答案

我可能已经发现了问题:

  • 脚本运行良好
  • 哈希值错误!

您说过您的 URL 字符串中有 ##location。如果您使用:

window.location.hash

它不会返回任何内容。正确的哈希应该是#location,它与##location不同。

如果您对 URL 中的哈希进行硬编码并重试,您将看到它有效。如果它不起作用,那么你之前有一些脚本会导致它(但我不这么认为,如果你只是点击一个链接,这应该是磨损的)

要尝试一下,请用 #top 更改 ##location(或根据您的页面元素进行任何更改)

关于jQuery TypeError .offset 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23716524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com