Помогите разобраться
Есть скрипт слайдшоу. Должен при загрузке страницы начинать работу, изменяя прозрачность менять картинки. Я начинающий помогите пожалуйсто непонимаю, что зделал не так неработает .
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, время: 20:38. |