Помогите разобраться
Есть скрипт слайдшоу. Должен при загрузке страницы начинать работу, изменяя прозрачность менять картинки. Я начинающий помогите пожалуйсто непонимаю, что зделал не так неработает .
var m = new Array(0,100); var t = new Array(); var ask=0; SND=new Array (); SND[0]="IMG/ConterStrake.jpg"; SND[1]="IMG/Stalker.jpg"; SND[2]="IMG/Evel5.jpg"; SND[3]="IMG/Stalker2.jpg"; SND[4]="IMG/ConterStrake2.jpg"; SND[5]="IMG/Holms.jpg"; SND[6]="IMG/Princ_Persii.jpg"; SND[7]="IMG/Mirrors.jpg"; SND[8]="IMG/Terminator.jpg"; SND[9]="IMG/Princ_Persii2.jpg"; window.onload=function (){ next(); } function next() { var tmp; if (ask>(SND.lenght-1)){ tmp=ask-1; }else{ tmp=ask+1; } document.getElementById("kartinka").src=SND[ask]; document.getElementById("kartinka2").src=SND[tmp]; m[0]+=1; m[1]-=1; document.getElementById("kartinka").style.opacity = m[1]/100; document.getElementById("kartinka").style.filter=" alpha(opacity="+m[0]+")"; document.getElementById("kartinka2").style.opacity = m[0]/100; document.getElementById("kartinka2").style.filter= "alpha(opacity="+m[1]+")"; t[0] = setTimeout("next()",5); if (m[0]>98) clearTimeout(t[0]); if (ask>SND.lenght){ask=0}; ask++; setTimeout("next",10000); } Текст HTML: </div> <div id="poster"> <img id="kartinka" src="IMG/ConterStrake.jpg" style="opacity: 1; filter: alpha(opacity=100);"> <img id="kartinka2" src="IMG/Stalker.jpg" style="opacity: 0; filter: alpha(opacity=0);"> </div> Правила CSS: #kartinka {margin: 0px; padding: 0px; position:absolute; top: 0px; left: 0px;} #kartinka2 {margin: 0px; padding: 0px; position:absolute; top: 0px; left: 0px;} |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Есть скрипт слайдшоу. Должен при загрузке страницы начинать работу, изменяя прозрачность менять картинки. Я начинающий помогите пожалуйсто непонимаю, что зделал не так неработает .
var m = new Array(0,100); var t = new Array(); var ask=0; SND=new Array (); SND[0]="IMG/ConterStrake.jpg"; SND[1]="IMG/Stalker.jpg"; SND[2]="IMG/Evel5.jpg"; SND[3]="IMG/Stalker2.jpg"; SND[4]="IMG/ConterStrake2.jpg"; SND[5]="IMG/Holms.jpg"; SND[6]="IMG/Princ_Persii.jpg"; SND[7]="IMG/Mirrors.jpg"; SND[8]="IMG/Terminator.jpg"; SND[9]="IMG/Princ_Persii2.jpg"; window.onload=function (){ next(); } function next() { var tmp; if (ask>(SND.lenght-1)){ tmp=ask-1; }else{ tmp=ask+1; } document.getElementById("kartinka").src=SND[ask]; document.getElementById("kartinka2").src=SND[tmp]; m[0]+=1; m[1]-=1; document.getElementById("kartinka").style.opacity = m[1]/100; document.getElementById("kartinka").style.filter=" alpha(opacity="+m[0]+")"; document.getElementById("kartinka2").style.opacity = m[0]/100; document.getElementById("kartinka2").style.filter= "alpha(opacity="+m[1]+")"; t[0] = setTimeout("next()",5); if (m[0]>98) clearTimeout(t[0]); if (ask>SND.lenght){ask=0}; ask++; setTimeout("next",10000); } Текст HTML: </div> <div id="poster"> <img id="kartinka" src="IMG/ConterStrake.jpg" style="opacity: 1; filter: alpha(opacity=100);margin: 0px; padding: 0px; position:absolute; top: 0px; left: 0px;"> <img id="kartinka2" src="IMG/Stalker.jpg" style="opacity: 0; filter: alpha(opacity=0);margin: 0px; padding: 0px; position:absolute; top: 0px; left: 0px;"> </div> |
Nevi,
ask++; у тебя успевает сосчитать до 98 по m[0]>98 нужно и останавливать таймер и запускать новый и увеличивать ask проверяя не превысил ли он snd.length и восстанавливать в добавок параметры m (opacity) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script language="JavaScript" type="text/javascript"> var m = Array(0, 100), t = [], ask = 0; snd = []; snd[0] = "http://lstm.ru/_ph/12/1/478826110.jpg"; snd[1] = "http://lstm.ru/_ph/12/1/211468258.jpg"; snd[2] = "http://lstm.ru/_ph/12/1/980939750.jpg"; window.onload = next; function next() { var a = ask + 1; if (a == snd.length) a = 0; document.getElementById("kartinka").src = snd[ask]; document.getElementById("kartinka2").src = snd[a]; m[0] += 1; m[1] -= 1; document.getElementById("kartinka").style.opacity = m[1] / 100; document.getElementById("kartinka").style.filter = " alpha(opacity=" + m[1] + ")"; document.getElementById("kartinka2").style.opacity = m[0] / 100; document.getElementById("kartinka2").style.filter = "alpha(opacity=" + m[0] + ")"; t[0] = setTimeout("next()", 20); if (m[0] > 98) { clearTimeout(t[0]); setTimeout("next()", 2000); ask++; if (ask == snd.length) ask = 0; m = [0, 100] } }; </script> </head> <body> <div id="poster"> <img id="kartinka" src="http://lstm.ru/_ph/12/1/478826110.jpg" style="opacity: 1; filter: alpha(opacity=100);margin: 0px; padding: 0px; position:absolute; top: 0px; left: 0px;"> <img id="kartinka2" src="http://lstm.ru/_ph/12/1/211468258.jpg" style="opacity: 0; filter: alpha(opacity=0);margin: 0px; padding: 0px; position:absolute; top: 0px; left: 0px;"> </div> </body> </html> |
Большое спасибо
|
Часовой пояс GMT +3, время: 21:28. |