Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2010, 22:35
Новичок на форуме
Отправить личное сообщение для Nevi Посмотреть профиль Найти все сообщения от Nevi
 
Регистрация: 24.06.2010
Сообщений: 3

Помогите разобраться
Есть скрипт слайдшоу. Должен при загрузке страницы начинать работу, изменяя прозрачность менять картинки. Я начинающий помогите пожалуйсто непонимаю, что зделал не так неработает .
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;}
Ответить с цитированием
  #2 (permalink)  
Старый 24.06.2010, 22:45
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2010, 23:32
Новичок на форуме
Отправить личное сообщение для Nevi Посмотреть профиль Найти все сообщения от Nevi
 
Регистрация: 24.06.2010
Сообщений: 3

Есть скрипт слайдшоу. Должен при загрузке страницы начинать работу, изменяя прозрачность менять картинки. Я начинающий помогите пожалуйсто непонимаю, что зделал не так неработает .
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>
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2010, 08:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2010, 22:07
Новичок на форуме
Отправить личное сообщение для Nevi Посмотреть профиль Найти все сообщения от Nevi
 
Регистрация: 24.06.2010
Сообщений: 3

Большое спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с кодом. TheWanderer Общие вопросы Javascript 10 17.04.2010 13:41
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24
Помогите разобраться с задачей (поиск строки) Absinthe Ваши сайты и скрипты 6 07.12.2009 09:17
Помогите разобраться со скриптом! Чайник Элементы интерфейса 1 13.03.2009 23:57