Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.02.2010, 03:56
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Проблема с прелоадом картинок (слайд-шоу)
Подскажите, пожалуйста. Столкнулся с проблемой... Во всех браузерах прелоад работает нормально, кроме IE6:
Вот код:
<html>
	<head>
		<script type='text/javascript' src='jquery-1.4.1.min.js'></script>
		<?
				$prev_dir="img";
				$img_dir="img";
				// Reading directory and forming javascript Array
				$files=scandir($prev_dir);
				for ($i=2; $i<count($files); $i++)
					$ArrayJavascript.="\"$prev_dir/$files[$i]\",";
				$ArrayJavascript=substr($ArrayJavascript,0,strlen($ArrayJavascript)-1);
				
				// Preloading Images JavaScript
				echo "	<script type='text/javascript'>
							var ImgArray = Array($ArrayJavascript);
							var img = Array();
							for (i=0;i<ImgArray.length; i++){
								img[i] = new Image();
								img[i].src = ImgArray[i];
							}
						</script>";
			?>
		<script type='text/javascript'>
			$(window).load(function(){
				var counter = 1;
				$("#img_container").width($("#SlideShow").width());
				$("#img_container").height($("#SlideShow").height());
				setInterval(function(){
					$("#img_container").css({'background-image' : 'url('+$("#SlideShow").attr("src")+')'});
					var src=img[counter % img.length].src;
					$("#SlideShow").hide().attr("src",src).fadeIn(3000);
					counter++;
				},5000);
			});
		</script>
	</head>
	<body>
		<?echo "<center><div id='img_container'><img id='SlideShow' src='$prev_dir/$files[2]' alt='SlideShow' /></div></center>";?>
	</body>
</html>


Посмотреть то, что должно "фунциклировать" можно здесь: http://www.invis.emaxihost.com/galery/
Уже пол-интернета перерыл в поисках решения, но все равно не могу его найти. Все равно в процессе смены картинок в нижнем левом углу в IE6 появляется "Загрузка картинки с...."
Ответить с цитированием
  #2 (permalink)  
Старый 21.02.2010, 04:01
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

Не стал вникать в проблемы вашего кода, но недавно писал подобную галерею. Вот, может пригодится.

<div id="cont_galery" style="position:relative;">
	<img src="/front_img/2.jpg" alt="" style="display:none; position:absolute;" />
	<img src="/front_img/3.jpg" alt="" style="display:none; position:absolute;" />
	<img src="/front_img/4.jpg" alt="" style="display:none; position:absolute;" />
	<img src="/front_img/5.jpg" alt="" style="display:none; position:absolute;" />
	<img src="/front_img/1.jpg" alt="" style="position:absolute;" />
</div>

$(document).ready(function(){
	arimg = 			[];
	arimg = 			$('#cont_galery').find('img');
	imcount = 			arimg.length;
	
	$.each(arimg, function(i){
		arimg[i]=$(this);	   
	});
	$('#cont_galery').find('img:not(:last)').hide();
	setInterval(slideshow,4100);
	i=imcount;
	function slideshow(){
		if(i<(imcount-1)){i++}
		else {i=0}
		if(i==0) j=imcount-1;
		else j=i-1;
		arimg[i].fadeIn(1500);
		arimg[j].fadeOut(1500);
	}
});

Последний раз редактировалось Urfin, 21.02.2010 в 04:08.
Ответить с цитированием
  #3 (permalink)  
Старый 21.02.2010, 06:28
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Оригинально... Прелоад организован за счет размещения всех картинок со свойством "display:none". Надо будет попробовать.
А что означает position:absolute без указания координат top и left?
И еще, подскажите, пожалуйста, проблем с картинками разного разрешения не было?
Ответить с цитированием
  #4 (permalink)  
Старый 21.02.2010, 08:46
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Сообщение от InviS Посмотреть сообщение
А что означает position:absolute без указания координат top и left?
top и left выставятся в положение которое было бы при position:relative с нулевыми top и left, т.е. из потока вынется, но будет висеть на том же месте возможно перекрывая следующее.
Ответить с цитированием
  #5 (permalink)  
Старый 21.02.2010, 17:11
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

Сообщение от InviS Посмотреть сообщение
А что означает position:absolute без указания координат top и left?
И еще, подскажите, пожалуйста, проблем с картинками разного разрешения не было?
По умолчанию у элементов с position:absolute top и left = 0, относительно окружающего блока с position:relative. Остальные проблемы с позиционированием и разным разрешением картинок решаются установкой css свойств.
Ответить с цитированием
  #6 (permalink)  
Старый 21.02.2010, 18:13
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Сообщение от Urfin Посмотреть сообщение
По умолчанию у элементов с position:absolute top и left = 0, относительно окружающего блока с position:relative.
Проверял? А мне кажется что все таки auto.
Ответить с цитированием
  #7 (permalink)  
Старый 21.02.2010, 18:32
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Сообщение от micscr Посмотреть сообщение
Проверял? А мне кажется что все таки auto.
Почитал в спецификации свойства: по умолчанию top и left принимают значение auto. Аргумент auto не изменяет положение элемента, что и было сказано Urfin'ом.
Проверил - Опера вообще не определяет эти свойства, если не заданы. DragonFly показал что-то типа left: ; top: ;
А вот FireBug выставил их равными 0, IE просчитал свойства как auto;
Кстати, никто не в курсе, эти 2 свойства (left и top) обрабатываются IE нормально? Т.к. с padding - просто ппц был, когда столкнулся ;(
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема со слайд шоу, помогите пожалуйста. Ketch_Ozzy Общие вопросы Javascript 5 15.05.2009 23:34