Я использую JQuery для создания прокрутки изображения через мою страницу горизонтально. Единственная проблема состоит в том, что это использует серьезный объем использования CPU. До 100% на одноядерном ноутбуке в Firefox. Что могло вызвать это???
JQuery
<script>
jQuery(document).ready(function() {
$(".speech").animate({backgroundPosition: "-6000px 0px"}, 400000, null);
});
</script>
CSS
.speech {
/*position:fixed;*/
top:0;
left:0px;
height:400px;
width:100%;
z-index:-1;
background:url(/images/speech.png) -300px -500px repeat-x;
margin-right: auto;
margin-left: auto;
position: fixed;
}
HTML
<div class="speech"></div>
Он использует ресурсы ЦП, потому что вы просите браузер перерисовывать изображение много раз в секунду в течение длительного периода времени. Это не бесплатно.
Если это проблема, связанная с памятью ЦП, вы можете обнулить результат вызова функции jQuery. Если ваш вызов возвращает объект jQuery, то после вызова вы можете установить для него значение null:
var tmp = $(".speech").animate({backgroundPosition: "-6000px 0px"}, 400000, null);
});
tmp = null;
Примечание. Если это ЛЮБОЙ СПОСОБ связано с утечкой памяти, то это связано с циклическими ссылками и установкой обнулить вы можете его сломать.
Попробуйте, я хотел бы знать результаты, если у вас будет время опубликовать.
Лучший способ добиться этого - использовать такой плагин, как http://www.sprenty.net/download/