|
|
|
| Привет ребята, только-только я выучила html и начала делать свой первый сайт, как тут же, столкнулась с проблемой ( . У меня есть скрипт
<script type="text/javascript">
function Filmstrip(){
this.ePicture = document.getElementById('fsScreen');
this.ePrev = document.getElementById('fsControl_prev');
this.eNext = document.getElementById('fsControl_next');
var eLinks = document.getElementById('fsLinks');
this.aeLink = eLinks.getElementsByTagName('A');
this.show_picture = function( sBackground, iWidth, iHeight ){
this.ePicture.style.backgroundImage = "url(" + sBackground + ")";
if( iWidth )
this.ePicture.style.width = iWidth;
if( iHeight )
this.ePicture.style.height = iHeight;
this.set_current( sBackground );
}
this.set_current = function( sHref ){
for( var i = 0 ; i < this.aeLink.length ; i++ ){
if( this.aeLink[i].href.match( new RegExp( sHref + "$" ) ) ){
this.aeLink[i].className += " current";
this.ePrev.className = this.ePrev.className.replace( /\s+disabled/g, "" );
this.eNext.className = this.eNext.className.replace( /\s+disabled/g, "" );
if( i == 0 ){
this.ePrev.className += " disabled";
this.ePrev.onclick = function(){};
this.eNext.onclick = this.aeLink[i + 1].onclick;
}else if( i == this.aeLink.length - 1 ){
this.eNext.className += " disabled";
this.eNext.onclick = function(){};
this.ePrev.onclick = this.aeLink[i - 1].onclick;
}else{
this.eNext.onclick = this.aeLink[i + 1].onclick;
this.ePrev.onclick = this.aeLink[i - 1].onclick;
}
}else{
this.aeLink[i].className = this.aeLink[i].className.replace( /\s*current/g, "" );
}
}
}
}
var oFilmstrip = new Filmstrip();
function Show_picture( sHref, iWidth, iHeight ){
oFilmstrip.show_picture( sHref, iWidth, iHeight );
return false;
}
oFilmstrip.aeLink[0].onclick();
</script>
|
Как мне к нему сделать, предзагрузку картинок?
Подскажите пожалуйста, очень-очень надо : )
На всякий пожарный, прикрепляю всю страничку. | |
|
|
|
|
|
|
|
для: Катёнок
(26.02.2006 в 07:13)
| | Кстати, а как сделать так, чтобы в одном и том же месте экрана (в div'e) при выборе рзных картинок (с помощью этого скрипта) отображалось их (картинок) название.
Ну добустим вбрала я vova.jpg а в div'е написано -- Вова.
Выбираю masha.gif а написано -- Маша! | |
|
|
|
|
|
|
|
для: Катёнок
(26.02.2006 в 08:55)
| | Вт скрипт посложнее не могли найти? | |
|
|
|
|
|
|
|
для: codexomega
(26.02.2006 в 17:07)
| | Зато в этом скрипте, картинки меняются а страница не перезагружается.
( но вот только прилоад никак не сделать :( )
Вы codexomega знаете более простой скрипт? | |
|
|
|
|
|
|
|
|
для: Катёнок
(27.02.2006 в 03:52)
| | Вот и я думал, где здесь прелоад? Так задача в том, чтобы его сделать? Для этого, да, нужно сначала выбросить весь прежний скрипт, очистить сознание. :) Вот скрипт с подгрузкой, но без прелоада:
<B>Подгрузка изображений по выбору</B><br><br>
<a href=# onclick=loadPict(0);return!1>1</a><br>
<a href=# onclick=loadPict(1);return!1>2</a><br>
<a href=# onclick=loadPict(2);return!1>3</a><br>
<a href=# onclick=loadPict(3);return!1>4</a><br><br>
<img id=i1 src=""><br>
<div id=d1></div>
<SCRIPT>d=document;
aimg='snow.gif,snow21.gif,fo167-YM20030829-1.jpg,Imaf4-YM20041031.jpg'.split(',');
adiv='снег;снег21;лето;осень'.split(';');
loadPict=function(i){d.all.i1.src=aimg[i];d.all.i1.title=d.all.d1.innerHTML=adiv[i];}
</SCRIPT>
| Эффект смотрите здесь: http://javascript.aho.ru/example/JsPrimeryCode-67.htm. Как видите, хватает одной строчки функции.
Теперь, если надо предзагрузку, то добавляете код, что есть во всех учебниках:
preloadPict=function(i){aim=[];for(i=0;i<aimg.length;i++){aim[i]=new Image();aim[i].src=aimg[i];}}
|
И можно смотреть:
<SCRIPT>
viewPict=function(i){if(!self.aim)preloadPict();if(!self.aim||!self.aim[aimg.length-1])return;
d.all.i1.src=aim[i].src;d.all.i1.title=d.all.d1.innerHTML=adiv[i];}
</SCRIPT><br><br>
<span onclick=preloadPict() style=cursor:hand;>Сделать предзагрузку</span><br><br>
Смотреть предзагруженные (только после предзагрузки):<br>
<a href=# onclick=viewPict(0);return!1>1</a><br>
<a href=# onclick=viewPict(1);return!1>2</a><br>
<a href=# onclick=viewPict(2);return!1>3</a><br>
<a href=# onclick=viewPict(3);return!1>4</a><br><br>
| Здесь, если забыли предзагрузить, сначала делаем предзагрузку и видим, насколько это долго, если картинки большие.
Пришлось сделать 2 строчки скрипта, но ведь не 22 ? (Демо на той же ссылке.)
(В коде демо добавил ещё 1 строчку, показывающую прогресс предзагрузки появлением подписей на месте ссылок. Но это детали. Главное, что preloadPict нкужно поставить в тег <body onload=...> и цель будет достигнута. Здесь же я показал процесс по частям, чтобы понятно было, из чего он состоит.) | |
|
|
|