Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   JavaScript Скорость прокрутки (http://www.flasher.ru/forum/showthread.php?t=109326)

evgenz 12.03.2008 13:10

JavaScript Скорость прокрутки
 
Надо что бы при нажатии на кнопку слой (DIV) в окошке прокручивался слева на право.. Все работает но не нравиться скорость прокрутки, как можно ее увеличить:

Код HTML:

<html>
<body>
<script type="text/javascript">
var pixel = 0;
var tm;

function sl(p)
        {
        pixel = p;
        timer();       
        }


function timer()
        {
       
                if (pixel!=0)
                        {       
                        document.getElementById("PANORAMA").scrollLeft += 1;       
                        tm = setTimeout("timer()", 1);
                        pixel --;
                        }
                        else
                        {
                        clearTimeout(tm);               
                        }
                       
        }

</script>

<div id="PANORAMA" style="width:500px; height:50px; border: 1px solid;
overflow:hidden"
>

<div id="picture"  style="width:700px"/>
aaa....aaa
</div>
</div>


<input type="button" value="<" title="Scroll left" style="width:25px"
onClick="sl(20)"
>


</body>
</html>


KidsKilla 12.03.2008 14:48

Я так понимаю вы вообще не понимаете что там написано. раз так, то подскажу первый и единственный раз:
document.getElementById("PANORAMA").scrollLeft += 2;
в дальнейшем вам в раздел вакансии.

evgenz 12.03.2008 14:53

можно сделать хоть + 100 , но появляется дискретность прокрутки..
setTimeout("timer()", 1); вызывается каждую милисикунду..
следовательно за 1 секунду при инкременте +1 слой долже сдвигаться на 1000 пикселей.. но такого не происходит..

KidsKilla 12.03.2008 15:01

setTimeout функция мягко говоря неточная. не стоит не неё полагаться.
за одну милисекунду не каждый браузер не с каждой конфигурацией компа переренденит страницу. я бы даже сказал нет еще таких. => адекватный минимум на сегодня ~setTimeout("timer()", 10);

evgenz 13.03.2008 01:04

Может есть другие варианты?
Видел сайты где это все "шустро" работает..
подскажите где копать .. разроем =)

KidsKilla 13.03.2008 15:03

не понимаю че нужно то...


Часовой пояс GMT +4, время: 19:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.