Как регулировать скорость смены слайдов?
Вложений: 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, время: 00:24. |