jQuery位置函数返回对象,但访问属性会给出未定义的错误

时间:2014-02-23 19:07:24

标签: javascript jquery position jquery-waypoints

我正在尝试使用jQuery的位置函数,并记录它返回正确值的对象:

var pos = $('.myObject').position();
console.log(pos); //works, with proper left and top properties visible in console

但是,当尝试访问对象中的左侧或顶部位置属性时,我得到一个“未定义”错误,这很奇怪,因为我可以看到它们正确地存储在控制台中的对象本身中。

var pos = $('.myObject').position();
console.log(pos.left); //doesn't work

这个问题的简单性真让我难过。不确定到底发生了什么。这个函数是在jQuery waypoints函数内部的一个处理程序中调用的,但我怀疑这有什么不同。

编辑:下面的完整代码。

  $('.scrollPoint').waypoint({   
     handler: function(direction) {
         var app = $(this).attr('app');
         $('.activeApp').removeClass('activeApp');
         $('.app[appID='+app+']').addClass('activeApp');

         var posLeft = $('.activeApp').position();
         console.log(posLeft); // shows proper object position in console
         $('.appCaret').css("margin-left", posLeft.left+"px"); // error:'undefined' is not an object (evaluating 'posLeft.left')
     }

    });

0 个答案:

没有答案