Jquery 如何使.top和.offset一起工作
我在解决为什么我的Jquery被忽略时遇到了一些问题。以下是Jquery:Jquery 如何使.top和.offset一起工作,jquery,Jquery,我在解决为什么我的Jquery被忽略时遇到了一些问题。以下是Jquery: $(document).ready(function() { var $root = $('html, body '); $('a').click(function(e) { var href = $.attr(this, 'href'); $root.animate({ scrollTop: $(href).offset.top }, 500, function () {
$(document).ready(function() {
var $root = $('html, body ');
$('a').click(function(e) {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset.top
}, 500, function () {
window.location.hash = href;
});
return false;
});
这就是我试图很好地滚动到页面某个部分的jquery,如果我使用.offset('top')
,它几乎可以工作,但是抛出了以下错误:
未捕获的TypeError:无法使用“in”运算符在中搜索“using”
顶
这使得jquery跳转而不是很好地滚动
Jquery代码的其余部分:
// Responsive menu
$(function() {
var pull = $('#pull');
menu = $('nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 320 && menu.is(':hidden')) {
menu.removeAttr('style');
}
});
});
}))
以前是否有人遇到过这种情况并找到了解决方案?您正在尝试获取函数的属性
top
偏移量:
$(href).offset.top
jQuery对象有一个方法,其运行结果有一个属性.top
。
也许这就是你想用的
$(href).offset().top
我已经调查了错误消息,很明显它发生在jQuery中。
似乎在某个地方使用参数“top”
调用了offset
函数,这是不正确的
如果没有所有的代码,我无法进一步调试,但是请检查您的scrollTo
参数是否正确拼写,以及错误是否确实发生在代码中的那一行。您正在尝试获取函数offset
的属性top
:
$(href).offset.top
jQuery对象有一个方法,其运行结果有一个属性.top
。
也许这就是你想用的
$(href).offset().top
我已经调查了错误消息,很明显它发生在jQuery中。
似乎在某个地方使用参数“top”
调用了offset
函数,这是不正确的
如果没有所有的代码,我无法进一步调试,但是请检查您的scrollTo
参数是否正确拼写,以及错误是否确实发生在代码中的那一行。您正在尝试获取函数offset
的属性top
:
$(href).offset.top
jQuery对象有一个方法,其运行结果有一个属性.top
。
也许这就是你想用的
$(href).offset().top
我已经调查了错误消息,很明显它发生在jQuery中。
似乎在某个地方使用参数“top”
调用了offset
函数,这是不正确的
如果没有所有的代码,我无法进一步调试,但是请检查您的scrollTo
参数是否正确拼写,以及错误是否确实发生在代码中的那一行。您正在尝试获取函数offset
的属性top
:
$(href).offset.top
jQuery对象有一个方法,其运行结果有一个属性.top
。
也许这就是你想用的
$(href).offset().top
我已经调查了错误消息,很明显它发生在jQuery中。
似乎在某个地方使用参数“top”
调用了offset
函数,这是不正确的
如果没有所有的代码,我无法进一步调试,但是请检查您的scrollTo
参数是否正确拼写,以及错误是否确实发生在代码中的那一行。如果要使用单个var
语句声明多个值,则应使用逗号分隔它们,而不是分号…因为使用分号,您将结束var
,而下一个语句只是赋值,因此您将沦为牺牲品。如果要使用单个var
语句声明多个值,则应使用逗号而不是分号将它们分开…因为使用分号,您正在结束var
语句,而下一个语句只是一个赋值,因此您会陷入困境。如果您想使用单个var
语句声明多个值,那么您应该使用逗号而不是分号来分隔它们……因为使用分号,您正在结束var
语句,而下一个语句只是一个赋值,因此您会陷入困境。如果您想使用单个var
语句声明多个值,那么您应该使用逗号而不是分号来分隔它们……因为使用分号,您正在结束var
,而下一个语句只是一个赋值,因此您正陷入困境;“UncaughtTypeError:无法读取undefined的属性'top'”并在其下方停止响应菜单jquery。任何想法/@MaxwellLynn,在你的问题中,你声称你尝试了.offset('top')
。请注意,它不同于.offset().top
。你能确认你已经试过了吗?我确实试过了。有什么想法吗?我还发现.attr
的用法令人困惑。我建议尝试使用常规的$(this.prop('href')
,而不是$.attr(this,'href')
),尽管它可能不相关。哦,对了,这很方便知道。你有没有其他的想法,为什么它不起作用?也许将函数放在一个函数中?我曾尝试使用它,但它抛出了这个错误;“UncaughtTypeError:无法读取undefined的属性'top'”并在其下方停止响应菜单jquery。任何想法/@MaxwellLynn,在你的问题中,你声称你尝试了.offset('top')
。请注意,它不同于.offset().top
。你能确认你已经试过了吗?我确实试过了。有什么想法吗?我还发现.attr
的用法令人困惑。我建议尝试使用常规的$(this.prop('href')
,而不是$.attr(this,'href')
),尽管它可能不相关。哦,对了,这很方便知道。你有没有其他的想法,为什么它不起作用?也许将函数放在一个函数中?我曾尝试使用它,但它抛出了这个错误;“UncaughtTypeError:无法读取未定义的属性'top'”并停止下面的响应菜单jquery