Как регулировать скорость смены слайдов?
Вложений: 1
Здравствуйте! Я пока новичок в JS.
Вот к примеру у меня есть простенький скрипт, который меняет картинки через заданный промежуток времени. Как можно сделать так, чтобы через форму, с помощью кнопок "быстрее" и "медленнее" менялся этот промежуток времени, т.е какое-то значение(число) передавалось вместо "n" вот сюда setTimeout("demoslides()", n ) Уже полдня думаю, что-только не пробовал, ничего не выходит. Скрипт: <script type="text/javascript"> <!-- numimg=0 imgslide=new Array() imgslide[0]=new Image() imgslide[1]=new Image() imgslide[2]=new Image() imgslide[3]=new Image() imgslide[4]=new Image() imgslide[5]=new Image() imgslide[6]=new Image() imgslide[7]=new Image() imgslide[8]=new Image() imgslide[9]=new Image() imgslide[10]=new Image() imgslide[11]=new Image() imgslide[12]=new Image() imgslide[13]=new Image() imgslide[0].src="1.jpg" imgslide[1].src="2.jpg" imgslide[2].src="3.jpg" imgslide[3].src="4.jpg" imgslide[4].src="5.jpg" imgslide[5].src="6.jpg" imgslide[6].src="7.jpg" imgslide[7].src="8.jpg" imgslide[8].src="9.jpg" imgslide[9].src="10.jpg" imgslide[10].src="11.jpg" imgslide[11].src="12.jpg" imgslide[12].src="13.jpg" imgslide[13].src="14.jpg" //чередование изображений function demoslides() { if(document.images[0].src=imgslide[numimg].src){numimg++} if(numimg==14) {numimg=0;} setTimeout("demoslides()", n ) //если вместо k поставить число - "например 1000" то работает. } //--> </script> <body onLoad="demoslides()"> <img src="img3/15.jpg" width="700" height=500><br> <form name=form1> <input type=button value=медленнее onclick="k(1000)"> <input type=button value=быстрее onclick="k(2000)"> </form> Для удобства прикрепил готовый архив с картинками и .html |
Ну к примеру:
<script type="text/javascript"> <!-- nTimeSet = 1000; numimg=0 imgslide=new Array() imgslide[0]=new Image() imgslide[1]=new Image() imgslide[2]=new Image() imgslide[3]=new Image() imgslide[4]=new Image() imgslide[5]=new Image() imgslide[6]=new Image() imgslide[7]=new Image() imgslide[8]=new Image() imgslide[9]=new Image() imgslide[10]=new Image() imgslide[11]=new Image() imgslide[12]=new Image() imgslide[13]=new Image() imgslide[14]=new Image() imgslide[0].src="1.jpg" imgslide[1].src="2.jpg" imgslide[2].src="3.jpg" imgslide[3].src="4.jpg" imgslide[4].src="5.jpg" imgslide[5].src="6.jpg" imgslide[6].src="7.jpg" imgslide[7].src="8.jpg" imgslide[8].src="9.jpg" imgslide[9].src="10.jpg" imgslide[10].src="11.jpg" imgslide[11].src="12.jpg" imgslide[12].src="13.jpg" imgslide[13].src="14.jpg" imgslide[14].src="15.jpg" //чередование изображений function demoslides() { if(document.images[0].src=imgslide[numimg].src){numimg++} if(numimg==15) {numimg=0;} setTimeout("demoslides()", nTimeSet ) //если } function speedSet(k){ if((nTimeSet+k)<1000) return; if((nTimeSet+k)>2000) return; nTimeSet = nTimeSet+k; } //--> </script> <body onLoad="demoslides()"> <img src="img3/15.jpg" width="700" height=500><br> <input type=button value=медленнее onclick="speedSet(30)"> <input type=button value=быстрее onclick="speedSet(-30)"> |
Вложений: 1
Спасибо большое, но что-то не работает :-? и не могу найти ошибку даже через firebag, вернее показывает что-то непонятное.
|
|
Цитата:
|
Спасибо большое, это-то что нужно, даже диапазон можно выбирать, вообще круто. Эх, мне бы так научиться разбираться...
|
Часовой пояс GMT +3, время: 07:53. |