每个中的getBoundingClientRect:未定义不是函数

布拉姆·范罗伊

因此,我试图在视口中显示全屏区域时调用某些函数。假设我有7个部分,那么当某个部分位于视口中时,我希望发生一些事情(我有一个函数可以将这些部分捕捉到视口中,因此在视口中永远不会有多个部分,但是我正在尝试查找在视口中可见哪个部分)。

这是一个小提琴:http : //jsfiddle.net/h7Hb7/2/

function isInViewport() {
    $("section").each(function () {
        var $this = $(this),
            wHeight = $(window).height(),
            rect = $this.getBoundingClientRect(); // Error in console

        // Borrowed from http://stackoverflow.com/a/7557433/5628
        if (rect.top >= 0 && rect.bottom <= wHeight) {
            console.log($this.attr("id") + "in viewport");
        }
    });
}

$(window).scroll(function () {
    // Other functions are called inside the setTimeout function, can't remove
    clearTimeout($.data(this, "scrollTimer"));
    $.data(this, "scrollTimer", setTimeout(function () {
        isInViewport();
    }, 1200));
});

我不知道从哪里开始寻找,但我想这与每个功能有关。是每个功能带来问题吗?不可能是CSS问题,因为CSS加载后滚动时就会发生问题。

未定义

jQuery对象没有getBoundingClientRect方法,您应该获取HTMLElement对象,然后调用该方法或:

this.getBoundingClientRect();

作为建议,如果可以选择使用插件,则可以考虑使用jquery.inview插件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未定义不是函数

来自分类Dev

未定义不是函数“”“

来自分类Dev

Mocha /应该“未定义不是函数”

来自分类Dev

_iteratorError未定义不是函数

来自分类Dev

参数'indexController'不是函数,未定义

来自分类Dev

ngRoute TypeError:未定义不是函数

来自分类Dev

whenDELETE:未定义不是函数

来自分类常见问题

错误:参数不是函数,未定义

来自分类Dev

护照抛出“未定义不是函数”

来自分类Dev

期望toNotBe()未定义不是函数

来自分类Dev

参数“ myAction”不是函数,未定义

来自分类Dev

砌体:未定义不是函数

来自分类Dev

JWPlayer-未定义不是函数

来自分类Dev

“未定义不是函数” onSuccessHandler

来自分类Dev

Javascript-未定义不是函数

来自分类Dev

TypeError:未定义不是构造函数

来自分类Dev

未定义不是函数-RequireJS

来自分类Dev

.toBe功能的“未定义不是函数”

来自分类Dev

未定义不是函数-JavaScript

来自分类Dev

收到“未定义不是函数”错误

来自分类Dev

“'未定义'不是函数”错误

来自分类Dev

错误:未定义不是函数

来自分类Dev

TypeError:未定义不是函数-AngularJS

来自分类Dev

按钮onclick未定义不是函数

来自分类Dev

xAxis(date):未定义不是函数

来自分类Dev

参数'controller'不是函数,未定义

来自分类Dev

rowHasChanged未定义不是构造函数

来自分类Dev

未定义不是函数(在'... map ...'附近)

来自分类Dev

“未定义不是函数” onSuccessHandler