Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Animacja DIVa, bardzo wolno w IE
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
abiku
Witam.

mam 2 divy:
  1. <div id="scrool_cont_out">
  2. <div id="scrool_cont">
  3. .. tutaj zawarotsc, okolo 10 plikow jpg, 100kb kazdy, wyswietlane jeden za drugim
  4. </div>
  5. </div>


css:
  1. #scrool_cont_out{
  2. width:660px;
  3. float:left;
  4. overflow:hidden;
  5. height:220px;
  6. position:relative;
  7. }
  8.  
  9. #scrool_cont{
  10. width:9000px;
  11. float:left;
  12. overflow:hidden;
  13. height:220px;
  14. position:absolute;
  15. }


i prosty skrypt JS ktory przesuwa wewnatrzny DIV w lewo:
  1. <script type="text/javascript" language="javascript">
  2. int = setInterval("moveAnim()", 30);
  3.  
  4. function moveAnim(){
  5. var sc = document.getElementById('scrool_cont');
  6. sc.style.left = (sc.offsetLeft -1) + 'px';
  7. }
  8.  
  9. </script>


dziala ok tylko w Firefoxie.
w IE co prawda animacja dziala, ale strasznie wolno, uzycie CPU wzrasto do 50%, czasami skrypt sie zatrzymuje.
Co moze byc tego przyczyna? cos jest zle w tym co zrobilem?
erix
A jak mamy to u siebie sprawdzić?
kamil4u
Jedyne co może przyspieszyć skrypt to:
Kod
<script type="text/javascript" language="javascript">
        var int = setInterval("moveAnim()", 30);
        var el = document.getElementById('scrool_cont');
        var val = el.offsetLeft; //możliwe, że tu musisz dać parseInt
        function  moveAnim(){
                el.style.left = (--val)+'px';
        }

    </script>

Ale to nie powinno zmienić gwałtownie szybkości, a już na pewno nie w tak dużym stopniu...
abiku
ok problem okazal sie dosc prosty.
chodzi o skalowanie obrazkow w scrolowanym divie.
moja pliki jpg maja po 600px wysokosc. w tagu img ustawialem ja na 200px.
IE w takim przypadku strasznie zwalnia. gdy w kodzie dam wysokosc 600px animacja jest plynna i nie pochlania mocy procesora.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.