Jquery 如何使.top和.offset一起工作

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 () {

我在解决为什么我的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 () {
        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