English 中文(简体)
JavaScript + CSS3 动画的内存问题。 如何改进?
原标题:Memory problems with JavaScript + CSS3 animations. How to improve?

我创造了一个动画循环。一旦完成了一个动画循环,它就会触发下一个动画循环。当我保持浏览器开放1-2分钟时,它开始减速并食用越来越多的资源,直到我的兄弟会回答粗糙的动画,动画几乎不再运行。我怎么能防止这种情况发生呢?这里的代码是:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
html, body {
    margin: 0;
}
.shared {
    position: absolute;
    opacity: 0;
}
img#article-02 {
    top: 0;
    left: 0;
    width: 205px;
    height: 205px;
}
img#article-03 {
    top: 227px;
    left: 0;
    width: 205px;
    height: 205px;
}
img#article-04 {
    top: 318px;
    left: 227px;
    width: 431px;
    height: 114px;
}
@-webkit-keyframes article2 {
0%   {opacity: 0;}
10%  {opacity: 1;}
60%  {opacity: 1;}
70%  {opacity: 0;}
100% {opacity: 0;}
}
@-webkit-keyframes article3 {
0%   {opacity: 0;}
20%  {opacity: 1;}
70%  {opacity: 1;}
80%  {opacity: 0;}
100% {opacity: 0;}
}
@-webkit-keyframes article4 {
0%   {opacity: 0;}
30%  {opacity: 1;}
80%  {opacity: 1;}
90%  {opacity: 0;}
100% {opacity: 0;}
}
</style>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    animArticle02();
});

function animArticle02() {
    $("#article-02").css( -webkit-animation ,  article2 2s linear );
    var $element = $("#article-02").bind("webkitAnimationEnd", function(){
        this.style.webkitAnimationName = "";
        animArticle03();
    });
}
function animArticle03() {
    $("#article-03").css( -webkit-animation ,  article3 2s linear );
    var $element = $("#article-03").bind("webkitAnimationEnd", function(){
        this.style.webkitAnimationName = "";
        animArticle04();
    });
}
function animArticle04() {
    $("#article-04").css( -webkit-animation ,  article4 2s linear );
    var $element = $("#article-04").bind("webkitAnimationEnd", function(){
        this.style.webkitAnimationName = "";
        animArticle02();
    });
}
</script>
</head>
<body>
<img id="article-02" class="shared" src="article-02.png" alt="" />
<img id="article-03" class="shared" src="article-03.png" alt="" />
<img id="article-04" class="shared" src="article-04.png" alt="" />
</body>
</html>
最佳回答

它可能和重复的绑定和jQuery 调用有关。 尝试此脚本 :

//shorthand .ready()
$(function() {

    //cache elements
    var ar2 = $("#article-02"),
        ar3 = $("#article-03"),
        ar4 = $("#article-04");

    //bind once
    ar2.bind("webkitAnimationEnd", function() {
        this.style.webkitAnimationName = "";
        animArticle03();
    });
    ar3.bind("webkitAnimationEnd", function() {
        this.style.webkitAnimationName = "";
        animArticle04();
    });
    ar4.bind("webkitAnimationEnd", function() {
        this.style.webkitAnimationName = "";
        animArticle02();
    });

    //animate
    function animArticle02() {
        ar2.css( -webkit-animation ,  article2 2s linear );
    }

    function animArticle03() {
        ar3.css( -webkit-animation ,  article3 2s linear );
    }

    function animArticle04() {
        ar4.css( -webkit-animation ,  article4 2s linear );
    }

    animArticle02();
});​
问题回答

“过渡”和“网基核心框架”都会导致铬的记忆泄漏。





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签