JQuery использование ЦП

Я использую 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>
7
задан sepehr 25 April 2010 в 13:00
поделиться

3 ответа

Он использует ресурсы ЦП, потому что вы просите браузер перерисовывать изображение много раз в секунду в течение длительного периода времени. Это не бесплатно.

12
ответ дан 6 December 2019 в 07:50
поделиться

Если это проблема, связанная с памятью ЦП, вы можете обнулить результат вызова функции jQuery. Если ваш вызов возвращает объект jQuery, то после вызова вы можете установить для него значение null:

var tmp = $(".speech").animate({backgroundPosition: "-6000px 0px"}, 400000, null);
});
tmp = null;

Примечание. Если это ЛЮБОЙ СПОСОБ связано с утечкой памяти, то это связано с циклическими ссылками и установкой обнулить вы можете его сломать.

Попробуйте, я хотел бы знать результаты, если у вас будет время опубликовать.

0
ответ дан 6 December 2019 в 07:50
поделиться

Лучший способ добиться этого - использовать такой плагин, как http://www.sprenty.net/download/

0
ответ дан 6 December 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: