Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery对象返回未定义的_Javascript_Jquery_Object - Fatal编程技术网

Javascript Jquery对象返回未定义的

Javascript Jquery对象返回未定义的,javascript,jquery,object,Javascript,Jquery,Object,我有一个通过选择器调用的函数 $(window).scroll(function() { console.log($("#content div").inview()); }); 但是,它返回未定义的。当我返回$elems时,它会显示所有正确的元素,但当我返回$el时,它会给出未定义的元素 $.fn.inview = function() { var $elems = this; function getViewportHeight() { /*do

我有一个通过选择器调用的函数

$(window).scroll(function() {
    console.log($("#content div").inview());
});
但是,它返回未定义的。当我返回$elems时,它会显示所有正确的元素,但当我返回$el时,它会给出未定义的元素

$.fn.inview = function() {

    var $elems = this;

    function getViewportHeight() {
        /*do tsoomething that works*/
        return height;
    }

    var vpH = getViewportHeight(),
    scrolltop = (document.documentElement.scrollTop ?
        document.documentElement.scrollTop :
        document.body.scrollTop);

    // return $elems.toArray();
    $elems.each(function () {
        var $el = $(this)
        height = $el.height() - (vpH / 1.5),
        inview = $el.data('inview') || false,
        topofscreen = scrolltop,
        botofscreen = topofscreen + vpH,
        topofelement= $el.offset().top;

        return $el;


};

inview
没有return语句,因此它总是返回
undefined

当您
返回$el
您正在传递给
$elems的匿名函数中执行此操作。每个

如果要从
inview
返回某些内容,则需要在该函数中使用return语句。可能您想在调用
each
之前创建一个数组,每次循环时将
$el
推到数组上,然后返回数组。

可能重复的
返回$elems.each(…)来自$.fn.inview()