Войти

Показать полную графическую версию : нужна прмрщ по Джаваскрипту


svscorp
31-10-2005, 07:42
Здраствуйте. Очень прошу Вас, уважаемые мастера, помочь мне с такой проблемой.
у меня есть такой скрипт(нашел в нете)

<html>
<head>
<title>Alpha anim</title>
</head>
<style type="text/css">
#alpha {
filter: alpha(Opacity='100');
}
</style>
<script language="javascript">
<!--//
var images = new Array();
images[0] = 'img/pic_small1.jpg';
images[1] = 'img/pic_small2.jpg';



var fl_int = 200;
var fl_stp =10;
var timeId = null;
var timeLt = 100;
var imgInt = 0;

function create_alpha_anim(){
getImgObj = document.getElementById('alpha');
getImgObj.src = images[imgInt];
getImgObj.filters.alpha.opacity=fl_int;

if(fl_int<=0){
fl_int = 200;
if(imgInt>images.length-2){
imgInt=0;
}else{
imgInt++;
}
}else{
fl_int-=fl_stp;
}
timeId = setTimeout("create_alpha_anim()",timeLt);
}
//-->
</script>

<body onLoad="create_alpha_anim()">

<img src="img/pic_small2.jpg" ID="alpha" width="291">

</body>
</html>



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

И еще, подскажите как можно сделать что бы эффект смены картинок быр рандомным? ну, один раз выплыванием сменились, второй раз, скажем разворачиванием, точечками, и т.д... хотя бы тремя жффектами???

Буду очень благодарен!!!!!! Зараннее спасибо:)

elfoflorien
31-10-2005, 12:08
svscorp
то что вам нужно, делается удобнее с помощью
FILTER: progid:DXImageTransform.Microsoft.Fade(Overlap=1.00)
где overlap - свойство, определяющее степень перекрытия рисунков во времени
пример:

<SCRIPT>

var startImage= "IMAGE_1.gif";
var endImage= "IMAGE_2.gif";
function doTrans( arg )
{
arg.filters[0].apply();
if( arg.src.indexOf( startImage ) != -1 ) arg.src= endImage;
else arg.src= startImage;
arg.filters[0].play();
}

</SCRIPT>

<IMG id=oImg onmouseover="doTrans( this )" style="FILTER: progid:DXImageTransform.Microsoft.Fade( Overlap=1.00 ); MARGIN: 10px" src="IMAGE_1.gif">
<IMG id=oImg onmouseover="doTrans( this )" style="FILTER: progid:DXImageTransform.Microsoft.Fade( Overlap=0.00 ); MARGIN: 10px" src="IMAGE_1.gif">


все взято отсюда (http://www.promsoft.ru/index.php?action=topics&menu_id=871&page_id=71#2)
там есть еще много всяких способов создания показа слайдов и прочей анимации

svscorp
31-10-2005, 12:21
elfoflorien

Спасибо Вам большое!!!!!!!!!!!!!!!! А скажите, как можно переделать скрипт, что бы можно было не одну а скажем три и далее картинок вставить???? и что бы разным эффектом?:)

elfoflorien
01-11-2005, 18:13
svscorp
надо немного подумать...
вы посмотрели на промсофте? там, по-моему были варианты и с большим количеством картинок. и где-то еще я видел такую штуку... попробуйте в яндексе "показ слайдов javascript"




© OSzone.net 2001-2012