JavaScript bugg(元素的顶部偏移量,自动选择文档顶部偏移量?)

时间:2014-10-18 18:16:36

标签: javascript jquery

我正在开发一个JavaScript插件,但它有一个lagg,我不知道解决这个问题的方法。我尝试了几个小时的多件事,但都没有奏效。我还在网上搜索了一个相同的bugg,但又没有成功。

所以,这是我的代码的一部分:

        affectedElements = $("*[al-affected]");

        // loop through every element and check by affected attribute
        affectedElements.css('position', 'absolute')
            .css('display', 'none');

        $(document).on('scroll', function() {
            for(var i=0; i<affectedElements.length; i++) {
                element = affectedElements[i];

                elementTopOffset = $(element).offset().top;
                windowTop = $(document).scrollTop();
                windowBottom = windowTop + $(window).height();





                console.log(elementTopOffset +", "+ windowTop +", "+ windowBottom);

                // When I put the function showElement here, then I got the right elementTopOffset value
                // showElement();


                if(elementTopOffset > windowTop &&
                   elementTopOffset < windowBottom) {
                    // When I put the function showElement inside the if function, the value of the elementTopOffset changes
                    showElement();
                }





            }
        });

        // Set optionals and shows the element
        function showElement() {
            effect = ($(element).attr('al-effect')) ? $(element).attr('al-effect') : 'fade';
            duration = parseInt($(element).attr('al-duration'));
            delay = ($(element).attr('al-delay')) ? $(element).attr('al-delay') : 0;
            $(element).delay(delay).show(effect, false, duration, false);
        }
  • 也许有帮助:当showElement()函数在if语句中时,elementTopOffset变量获取的值不正确,与windowTop变量的值相同。

我希望这很清楚。

0 个答案:

没有答案