【问题标题】:jQuery .offset() getting undefined for class `top` of var objectjQuery .offset() 未定义 var 对象的类“top”
【发布时间】:2012-05-16 07:01:00
【问题描述】:

我正在编写以下代码,但我有点困惑为什么我的调试器中出现错误。显然在以var skillsLimit = ... 开头的行中,var skillsOffset 的类.top 是未定义的。我是否在这里错误地设置了 skillsOffset 的 var?

// Set Pie graph to position fixed during a specified range
        var $window = $(window);
        var windowHeight = $(window).height();
        var pos = $window.scrollTop(); //position of the scrollbar
        var $this = $(this);

        $window.bind('scroll', function(){ //when the user is scrolling...
            var pos = $window.scrollTop(); //position of the scrollbar              
            var skillsOffset = $('#skills').offset();
            var skillsLimit = $('#skills').skillsOffset.top + $('#skills').outerHeight();
            if ( pos > skillsOffset ) {
                $('.chartwell-pies').css({ 'position' : 'fixed' });
            }               
        });

【问题讨论】:

  • 只需使用var skillsLimit = skillsOffset.top + ... 您将skillsOffset 作为局部变量,而不是jQuery 对象的属性。也许pos > skillsLimit

标签: javascript jquery debugging syntax


【解决方案1】:

从赋值中删除$('#skills')skillsLimit,你已经得到了上面一行中的对象:

var pos = $window.scrollTop(); //position of the scrollbar              
var skillsOffset = $('#skills').offset();
var skillsLimit = skillsOffset.top + $('#skills').outerHeight();

【讨论】:

    猜你喜欢
    • 2014-02-23
    • 2015-07-13
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多