Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сложный скрипт который тормозит систему HELP, Этот скрипт тормозит систему что делать? 
:(
    Опции темы
MalerGSG
Дата 16.12.2009, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.12.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



Работу этого скрипта Вы может просмотреть на сайте: www.tscenter.globalsitegroup.ru
Он отвечает за "прокрутку" блоков посреди страницы, я не знаю что сделать чтобы облегчить учесть процессора. При работе одного только браузера загрузка цп скачит от 70 до 90 процентов. Пытался поставить задержку загрузки не помогает! В распараллеливании серверов смысла нет он тормозит систему даже с одним юзером на сайте. Вобщем HELP ME!  smile 


Вот собственно сам скрипт.

<script language="javascript">
var run=0;
var xx=0;
var wid;
var w;
var timeout_id;
var timeout_id1;
var MouseX;
    window.onload = function(){
        
        
        wid=window.screen.width;
        w = (wid-758)/2;
        //var l = document.getElementById("leftt");
        //document.getElementById("rightt").style.width = w + "px";
        //rightt = document.getElementById("rightt");
        //rightt.width = w + "px";
        
        //l.style.width = w + "px";
        //document.getElementById("left_navi").style.marginLeft = w - 32 + "px";
        //left.width = w + "px";
        run=1;
        MouseX = 200;
        setSpeed(MouseX,1);
    }
    
    function setRight(){
        xx = xx - 1 ;
        document.getElementById("cont_m").style.marginLeft = xx + "px";
            if (xx<-1283){
                xx = -84;    
            }
        if(run==1){
        }
    }
    function getResim(ev){
        navname = navigator.appName;
        if (navname=="Netscape"){
            getMouseX(ev);    
        }else{
            
            mousePageX();
        }
    }
    //for mozilla
    function getMouseX(ev){
            //clearTimeout(timeout_id);
            //clearTimeout(timeout_id1);
            MouseX = ev.pageX;
            
            //setSpeed(MouseX,1);
            
    }
    //for IE and opera
    function mousePageX()
    {
        //clearTimeout(timeout_id);
        //clearTimeout(timeout_id1);
        MouseX = event.x;
        //setSpeed(MouseX,1);
        
    }
    function setSpeed(mouseX,runn){
        if (runn==1){
            var hcenter = 379;
            
            if (MouseX>hcenter){
                
                var speed = (MouseX - hcenter)/25;
                speed = speed.toFixed(0);
                run=1;
                timeout_id1 = setTimeout(" setRight()",400);
            }
            if (MouseX<hcenter){
                //alert(mouseX);
                var speed = (hcenter - MouseX)/25;
                speed = speed.toFixed(0);
                run=1;
                timeout_id1 = setTimeout(" setLeft()",400);
            }
            clearTimeout(timeout_id);
            timeout_id = setTimeout(" setSpeed(MouseX,1)",10);
        }
    }
    
    function setLeft(){
        xx = xx + 1 ;
        //alert(speed);
        document.getElementById("cont_m").style.marginLeft = xx + "px";
            if (xx>-84){
                xx = xx-1200;    
            }
        if(run==2){
        
        }
    }
    function setrun(){
        run =1;    
    }
    function setstop(){
        run =0;    
    }
</script>
</head>

Что сделать чтобы оставить этот эффект но при этом снять нагрузку с ЦП.
С уважением Александр!


PM MAIL   Вверх
IDVsbruck
Дата 17.12.2009, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Ссылка не работает.

Понятно, что ты грузишь проц частым обращением:
timeout_id = setTimeout(" setSpeed(MouseX,1)",10);

Возможно, надо подумать над тем, чтобы использовать обработчики событий при попадании в зону.
PM MAIL   Вверх
MalerGSG
Дата 21.12.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.12.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



А что-нибудь по конкретней? Я новичёк в JS.  smile 
PM MAIL   Вверх
Nanna
Дата 22.12.2009, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 22.12.2009

Репутация: нет
Всего: нет



ага smile 
onMouseOver и onMouseOut

а может быть более эффективно было бы написать скриптик на флэше?? или аякс использовать smile
PM   Вверх
MalerGSG
Дата 22.12.2009, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.12.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.