首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery自定义旋转木马在一定数量的循环后抛出错误(仅在IE中)

Jquery自定义旋转木马在一定数量的循环后抛出错误(仅在IE中)
EN

Stack Overflow用户
提问于 2009-08-11 12:06:27
回答 2查看 275关注 0票数 0

我得到了这些函数,它们只是简单幻灯片的一部分。在重复大约100次之后,它抛出堆栈溢出(IE6)或内存不足(IE 7-8)...

没看到有什么问题吗? really...Any ideas?

代码语言:javascript
运行
复制
function show($itemNumber) {
                $("#mainImage").stop();
                $("#mainImage").fadeOut(fadingSpeed, function() {
                    $("#mainImage").unbind('load');
                    $("#mainImage").load(function() {
                        $("#mainImage").fadeIn(fadingSpeed);
                    });
                    $("#mainImage").attr('src',items[$itemNumber].img);
                    $("#mainText").html(items[$itemNumber].text);

                    currentItem = $itemNumber;
                });
                return false;
            }

            function moveOneSlide() {
                if (slideshow === true) {
                    currentItem++;
                    if (currentItem >= items.length) {
                        currentItem = 0;
                    }
                    setTimeout(moveOneSlide, interval);
                    show(currentItem);
                }
            }
EN

回答 2

Stack Overflow用户

发布于 2009-08-11 12:14:12

我检查了这个,但多达1115个图像,我没有得到任何错误这是我检查的代码。

代码语言:javascript
运行
复制
            <script type="text/javascript" src="js/jquery.js"></script>
            <script type="text/javascript">
            var items = [{'img':'smiles/1.gif','text':'hello'},
             {'img':'smiles/2.gif','text':'hi'},
             {'img':'smiles/3.gif','text':'hello'},
             {'img':'smiles/4.gif','text':'hi'},
             {'img':'smiles/5.gif','text':'hello'},
             {'img':'smiles/6.gif','text':'hi'},
             {'img':'smiles/7.gif','text':'hello'},
             {'img':'smiles/8.gif','text':'hi'},
             {'img':'smiles/9.gif','text':'hello'},
             {'img':'smiles/10.gif','text':'hi'},
             {'img':'smiles/11.gif','text':'hello'},
             {'img':'smiles/12.gif','text':'hi'},
             {'img':'smiles/13.gif','text':'hello'},
             {'img':'smiles/14.gif','text':'hi'},
             {'img':'smiles/15.gif','text':'hello'},
             {'img':'smiles/16.gif','text':'hi'},
             {'img':'smiles/17.gif','text':'hello'},
             {'img':'smiles/18.gif','text':'hi'},
             {'img':'smiles/19.gif','text':'hello'},
             {'img':'smiles/20.gif','text':'hi'},
             {'img':'smiles/21.gif','text':'hello'},
             {'img':'smiles/22.gif','text':'hi'},
             {'img':'smiles/23.gif','text':'hello'},
             {'img':'smiles/24.gif','text':'hi'},
             {'img':'smiles/25.gif','text':'hello'},
             {'img':'smiles/26.gif','text':'hi'},
             {'img':'smiles/27.gif','text':'hello'},
             {'img':'smiles/28.gif','text':'hi'},
             {'img':'smiles/29.gif','text':'hello'},
             {'img':'smiles/30.gif','text':'hi'},
             {'img':'smiles/31.gif','text':'hello'},                                
             {'img':'smiles/32.gif','text':'hi'},
             {'img':'smiles/33.gif','text':'hello'},
             {'img':'smiles/34.gif','text':'hi'},
             {'img':'smiles/35.gif','text':'hello'},
             {'img':'smiles/36.gif','text':'hi'},
             {'img':'smiles/37.gif','text':'hello'},
             {'img':'smiles/38.gif','text':'hi'},
             {'img':'smiles/39.gif','text':'hello'},
             {'img':'smiles/41.gif','text':'hi'},
             {'img':'smiles/42.gif','text':'hello'},
             {'img':'smiles/43.gif','text':'hi'},
             {'img':'smiles/44.gif','text':'hello'},
             {'img':'smiles/45.gif','text':'hi'},
             {'img':'smiles/46.gif','text':'hello'},
             {'img':'smiles/47.gif','text':'hi'},
             {'img':'smiles/48.gif','text':'hello'},
             {'img':'smiles/49.gif','text':'hi'},
             {'img':'smiles/50.gif','text':'hello'},
             {'img':'smiles/51.gif','text':'hi'},
             {'img':'smiles/52.gif','text':'hello'},
             {'img':'smiles/53.gif','text':'hi'},
             {'img':'smiles/54.gif','text':'hello'},
             {'img':'smiles/55.gif','text':'hi'},
             {'img':'smiles/56.gif','text':'hello'},
             {'img':'smiles/57.gif','text':'hi'},
             {'img':'smiles/58.gif','text':'hello'},
             {'img':'smiles/59.gif','text':'hi'},
             {'img':'smiles/60.gif','text':'hello'},
             {'img':'smiles/61.gif','text':'hi'},
             {'img':'smiles/62.gif','text':'hello'},
             {'img':'smiles/63.gif','text':'hi'},
             {'img':'smiles/64.gif','text':'hello'},
             {'img':'smiles/65.gif','text':'hi'},
             {'img':'smiles/66.gif','text':'hello'},
             {'img':'smiles/67.gif','text':'hi'},
             {'img':'smiles/68.gif','text':'hello'},
             {'img':'smiles/79.gif','text':'hi'},
             {'img':'smiles/70.gif','text':'hello'},
             {'img':'smiles/71.gif','text':'hi'},
             {'img':'smiles/72.gif','text':'hello'},
             {'img':'smiles/73.gif','text':'hi'},
             {'img':'smiles/74.gif','text':'hello'},
             {'img':'smiles/75.gif','text':'hi'},
             {'img':'smiles/76.gif','text':'hello'},
             {'img':'smiles/77.gif','text':'hi'}];

下一步

代码语言:javascript
运行
复制
                fadingSpeed=10;
                interval=1000;
                currentItem=0;
                count='0'
            function show($itemNumber) {
                count++;
                //$("#mainImage").stop();
                $("#mainImage").fadeOut(fadingSpeed, function() {
                    $("#mainImage").unbind('load');
                    $("#mainImage").load(function() {
                        $("#mainImage").fadeIn(fadingSpeed);
                    });
                    $("#mainImage").attr('src',items[$itemNumber].img);
                    $("#mainText").html(items[$itemNumber].text);
                    $("#mainNum").html(count)
                    currentItem = $itemNumber;
                });
                return false;
            }

            function moveOneSlide() {
                    currentItem++;
                    if (currentItem >= items.length) {
                        currentItem = 0;
                    }
                    setTimeout(moveOneSlide, interval);
                    show(currentItem);
                    }

            $(document).ready(function(){
                moveOneSlide();
            });
            </script>

html

代码语言:javascript
运行
复制
<body>
<div id="container">
<img src="" id='mainImage'>
<div id='mainText'></div> 
<div id='mainNum'></div> 
</div>
</body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2009-08-12 07:50:07

在这里,您每次调用都要创建几个函数。考虑将它们移出循环,并通过命名变量设置它们,以降低内存使用量。另外,您是否向我们展示了您的整个功能?这里没有进行递归;看起来像是用moveOneSlide()函数设置了它,但在您的代码中并没有调用它。确保你发布了所有相关的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1259938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档