Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][Mootools]Skrypt zjada całego procka
Misiur66
post 1.04.2010, 17:23:16
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Cześć.

Na stronie http://immortal-fighters.pl/, na dole mają się znajdować 3 przewijarki. Póki co zrobiłem tylko jedną, ale każdy kto wejdzie ma od razu zużycie procesora bliskie 100%, oraz zacinanie całkowite. Robiłem już ze 3 zmiany, żeby odciążyć JS, a wszystko robić przez PHP. Teraz skrypt wygląda tak:

Kod
<script type="text/javascript">
    window.addEvent('load', function(){
        var total = 0;
        $$('#leftCont0 .contElement').each(function(el){
            var img = new Asset.image(el.getFirst('a').getFirst('img').get('src'));
            total += img.height;
        });
        
        $$('.leftCont').each(function(el){
            var h = parseInt(el.get('id').substr(8));
            el.setStyle('top', h * total);
        });
        move.periodical(100, null, total);
    });
    function move(num)
    {
        $$('.leftCont').each(function(el){
            var act = el.getStyle('top');
            var n = parseInt(act)+1;
            el.setStyle('top', n+"px");
            if(parseInt(el.getStyle('top')) > 400)
            {
                el.setStyle('top', '-'+num+'px');
            }
        });
    }
    </script>


Nawet gdyby to było w czystym JS, to b nic nie zmieniło. Robiłem to samo we flashu, i też zabijało procesor. Co jest? Czemu tak się dzieje?

Teraz w skrypcie zmieniłem okres wywoływania z 10 milisekund, na 100.
Przecież skrypt nie jest jakiś rozbudowany. Ma tylko zmieniać pozycję top i tyle. Czemu zabija? Pomocy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
outsider
post 1.04.2010, 17:33:07
Post #2





Grupa: Zarejestrowani
Postów: 267
Pomógł: 36
Dołączył: 8.08.2008

Ostrzeżenie: (0%)
-----


Mi Opera zuzywa 0-2% smile.gif

Cytat
(...)każdy kto wejdzie...


czy aby napewno ?

P.S. Niezle Prima Aprilis php.pl biggrin.gif

Ten post edytował *OuTSideR* 1.04.2010, 17:34:10
Go to the top of the page
+Quote Post
Misiur66
post 1.04.2010, 18:45:01
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Ale jeżdżą elementy? Przejechałeś na dół strony?

Teraz już gra cała orkiestra (no, 2/3 orkiestry). U mnie skacze i się zacina, ale mam popsutą kartę graficzną, może dlatego. Użycie procesora 54%. A jak u was?

Nowy kod:

Kod
window.addEvent('load', function(){
        var totall = 0;
        var totalr = 0;
        $$('#leftCont0 .contElement').each(function(el){
            var img = new Asset.image(el.getFirst('a').getFirst('img').get('src'));
            totall += img.height;
        });
        $$('#rightCont0 .contElement').each(function(el){
            var img = new Asset.image(el.getFirst('a').getFirst('img').get('src'));
            totalr += img.height;
        });
        
        $$('.leftCont').each(function(el){
            var h = parseInt(el.get('id').substr(8));
            el.setStyle('top', h * totall);
        });
        $$('.rightCont').each(function(el){
            var h = parseInt(el.get('id').substr(9));
            el.setStyle('top', h * totalr);
        });
        var total = new Array(totall, totalr);
        move.periodical(30, null, total);
    });
    function move(num, num2)
    {
        $$('.leftCont').each(function(el){
            var act = el.getStyle('top');
            var n = parseInt(act)+1;
            el.setStyle('top', n+"px");
            if(parseInt(el.getStyle('top')) > 400)
            {
                el.setStyle('top', '-'+num+'px');
            }
        });
        $$('.rightCont').each(function(el){
            var act = el.getStyle('top');
            var n = parseInt(act)+1;
            el.setStyle('top', n+"px");
            if(parseInt(el.getStyle('top')) > 400)
            {
                el.setStyle('top', '-'+num2+'px');
            }
        });
    }
Go to the top of the page
+Quote Post
outsider
post 2.04.2010, 15:19:58
Post #4





Grupa: Zarejestrowani
Postów: 267
Pomógł: 36
Dołączył: 8.08.2008

Ostrzeżenie: (0%)
-----


Wszysto dziala, "jeździ" smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:40