Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Скрипт перестает выполняться при возврате на страницу. (https://javascript.ru/forum/events/20542-skript-perestaet-vypolnyatsya-pri-vozvrate-na-stranicu.html)

Lisa 09.08.2011 09:48

Скрипт перестает выполняться при возврате на страницу.
 
Имеется рабочий скрипт смены бэкграунда дива, может, что-то сделано не так, но я новичок, так что простите и, если сможете, исправьте.
Но самая главная проблема здесь в том, что он перестает работать иногда, если нажать, например, на ссылку, ведущую на другую страницу, а потом вернуться.
var los;
var imgArr = new Array(); 
var imgArr2 = new Array(); 
imgArr[1]= "1.png"; 
imgArr[2]= "2.png"; 
imgArr[3]= "3.png"; 
			
imgArr2[1]= "1.jpg"; 
imgArr2[2]= "2.jpg"; 
imgArr2[3]= "3.jpg"; 

var $j = jQuery.noConflict();
			$j(function(){
				los = Math.floor(Math.random() * imgArr.length);
				if($j.browser.msie && $j.browser.version==8){
					$j(".rt-slider").css('background','url(1.jpg) no-repeat');
					$j("#rt-header-wrap").css('background','url(bg.jpg) 50% 0 no-repeat');
					 
				} else {
				
					$j(".rt-slider").css('background','url(1.png) no-repeat');
				}
				setInterval(navigate, 5000);		
			});
			function navigate() {
				if (los == 1) {
					los++;
				} else if (los == 2) {
					los++;
				} else if (los == 3) {
				los = 1;
				}
				var mainDiv = $j(".rt-slider");
				if($j.browser.msie && $j.browser.version==8){
					mainDiv.ready(function(){
				 	mainDiv.animate({opacity:0}, 1000, "linear", function(){
					   mainDiv.css("background","url("+imgArr2[los]+") no-repeat");
					   mainDiv.animate({opacity:1}, 3000, "linear");
					});
					
				 	});
				} else {
				mainDiv.ready(function(){
				   mainDiv.animate({opacity:0}, 1000, "linear", function(){
					   mainDiv.css("background","url("+imgArr[los]+") no-repeat");
					   mainDiv.animate({opacity:1}, 3000, "linear");
					});
				 });
				}
			}

Если кто сталкивался или знает, в чем проблема, отпишитесь, пожалуйста.. Может быть, картинки не успевают подгрузиться или еще что-то..

devote 09.08.2011 09:53

Цитата:

Сообщение от Lisa
он перестает работать, если нажать, например, на ссылку, ведущую на другую страницу, а потом вернуться.

а ты что думал(а) что если перейти на другую страницу, то твой скрипт втихую исполняться будет чтоль? Новая страница, новый скрипт... кнопка возврата на страницу не заставит продолжать работать скрипт с того места где его прервали, он будет исполняться заново конечно же.

Lisa 09.08.2011 09:57

так в том-то и дело, что он заново не исполняется. после возврата в диве бэкграунд больше не меняется, более того, его там нет (
но это через раз. скрипт то срабатывает, то нет при возврате. я не понимаю, почему

devote 09.08.2011 10:24

может потому что все это нужно засунуть в DOMContentLoaded ???

jQuery(function(){
   // Тут весь ваш огромный скрипт
});

Lisa 09.08.2011 10:56

Я лошара )) дело было в том, что элементы массива все-таки надо было с нуля индексировать. все от незнания яваскрипта, пора пойти на курсы )

melky 09.08.2011 11:04

можно просто книжку с каких-нибудь торрентов спиратить :)

Lisa 09.08.2011 14:31

Цитата:

Сообщение от melky (Сообщение 119112)
можно просто книжку с каких-нибудь торрентов спиратить :)

Да можно, тока их там навалом, кто бы посоветовал что хорошее

melky 09.08.2011 15:06

учебник

а это потом

Lisa 09.08.2011 16:08

Цитата:

Сообщение от melky (Сообщение 119210)

спасибо, скачала, почитаю )


Часовой пояс GMT +3, время: 07:01.