为什么setInterval在不同的浏览器中的工作方式不同?

时间:2014-07-04 07:51:20

标签: javascript cross-browser

以下两种实现有什么区别?我使用了第一个在Chrome中运行完美的第一个然后我在Firefox中检查了它并且它说*引用错误,它不知道myFunction在哪里。

ReferenceError: changePosition is not defined 
slideShowInterval = setInterval(changePosition, speed);

不适用于Firefox,适用于Chrome

setInterval(myFunction,2000);

function myFunction(){ ... }

也可以在Firefox和Chrome中使用

function myFunction(){ ... }

setInterval(myFunction,2000);

代码详情

        function changePosition() {
            if(nextFrame === true){
                if(currentPosition == numberOfSlides - 1) {
                    currentPosition = 0;
                } else {
                    currentPosition++;
                }
                moveSlide();
            }
        }

        function moveSlide() {
            nextFrame = false;

            $('#slideshow_'+id+' .slidesHolder').velocity({
                marginLeft : slideWidth*(-currentPosition)
            },{
                complete: function() { 
                    nextFrame = true;
                }
            })
        }

        slideShowInterval = setInterval(changePosition, speed);

0 个答案:

没有答案