Русский
<!-- http://bbs.downcodes.com--> <!--完成此效果需要把下面代码放到<body>区域中--> <div align="center"> <SCRIPT Language=JavaScript > <!-- //----------------------- Запуск настраиваемых переменных ----------------- ------// //=== Позиционирование ===// var left = 100; // Начальная левая позиция var top = 20; // Начальная левая позиция //=== Curve and Distance ===// var topInc = 5; // Приращение верхней позиции var leftInc = 5; // Приращение левой позиции /* Сделайте горизонтальную и вертикальную кривые одинаковыми, чтобы... .. получить увеличивающийся зазор без кривой. */ var hor_curve = 20; // Горизонтальная кривая - 0 при отсутствии кривой var ver_curve = -20; // Вертикальная кривая - 0 для отсутствия кривой //=== Timing and Other ===// var noTimes = 50; // Количество показов изображения var waitTime = 1; // Временная задержка var Layer = 2; // Уровень слоя var image = '/images/logo.gif'; // Изображение для отображения (изображения меньшего размера работают лучше) var start_retracted= true; // Начало изображения втянутым (true/false) var retract= true; // Отвод назад после расширения (true/false) //=== Параметры затухания (только пользователи IEвидят затухание) ===// var Fade = true; // Постепенное затухание (true/false) — работает только если retract =true var fd_destop = 0; // Уровень прозрачности назначения (т.е. 80, в основном сплошной) var fd_rate = 10; // Время в миллисекундах между изменениями прозрачности (лучше всего менее 100) var fd_delta = 5; // Количество изменений каждый раз (т.е. 5, для изменения прозрачности на 5%) var event_init = 'onClick'; // Событие, при котором запускается скрипт var left_formula = '(left + leftInc) + ((count/100) * hor_curve)'; // Формула левой позиции var top_formula = '(top + topInc) + ((count/100) * ver_curve)'; // Формула верхней позиции //----------------------- Конец настраиваемых переменных ------------------ ------// //--------------------- НЕ РЕДАКТИРУЙТЕ ДАЛЬШЕ ЭТОЙ ТОЧКИ! ---------------------// var count = 0; вар count2 = 0; вар timeOutVal = waitTime * 10; вар текст; переменное изображение; вар имя_изображения; вар лежал = новый массив; функция addLayer() { left = eval(left_formula); топ = оценка (top_formula); txt = "<div id='Layer" + count + "' style='position:absolute; видимость:скрытый; слева:" + слева + "; сверху:" + сверху + "; z-index:" + слой + "'>"; txt += "<a href='#' " + event_init + "='replay()'><img src='" + image + "' border=0 style='filter:alpha(opacity=100)' name = 'Изображение" + количество + "'></a>"; txt += "</div>"; документ.запись(текст); lay[count]=new lib_obj("Слой"+count); } function logoCurveInit() { while (count < noTimes) { addLayer(); считать++; } Счет = 0; лежал[0].showIt(); if (!start_retracted) animate(); } function animate(){ if (start_retracted) { if (!retract){ if (count > 0){ setTimeout('animate()',timeOutVal); Lay[count].hideIt(); считать--; } } else{ if (count >= 0){ setTimeout('animate()',timeOutVal); Lay[count].showIt(); if (count!= 0) FadeImage(); считать--; } } if (retract) { if(count==0) retractIt(); } } else { if (count < noTimes) { setTimeout('animate()',timeOutVal); Lay[count].showIt(); if (count != noTimes-1 && retract) FadeImage(); считать++; } if (retract) { if (count == noTimes) retractIt(); } } } function replay(){ if ((count == noTimes || (count == 0 || count == -1)) &&(count2 == noTimes-1 || count2 == 0)){ start_retracted = !start_retracted; // Сделать значение противоположным тому, что оно есть make_all_visible(); если (start_retracted) {count = noTimes-1; } Еще {счет = 0; } Анимировать(); } } function retractIt(){ if (start_retracted) { // Если логотип не убран (показаны все слои) if (count2 > 0){ setTimeout('retractIt()',timeOutVal); лежал[count2].hideIt(); счет2--; } } else{ // Если логотип убран (отображается только первый слой) if (count2 < noTimes-1){ setTimeout('retractIt()',timeOutVal); лежал[count2].hideIt(); счет2++; } } } function FadeImage(){ if (fade){ if (count >= 0 && count <= noTimes){ image = document.images['Image' + count]; nereidFade (изображение, fd_destop, fd_rate, fd_delta); } } } function make_all_visible(){ for (var i = 0; i< noTimes ; i++){ if (document.images['Image' + i].style.MozOpacity){ document.images['Image' + i] .style.MozOpacity=100; } else if (document.images['Image' + i].filters) { document.images['Image' + i].filters.alpha.opacity = 100; } } } ////***************(DHTMLCentral.com)****************//// function check_browser( ){ this.ver=navigator.appVersion this.agent=navigator.userAgent this.dom=document.getElementById?1:0 this.opera5=this.agent.indexOf("Opera 5")>-1 this.ie5=( this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; this.ie4=(document.all && !this.dom && !this.opera5)?1:0; this.ie=this.ie4||this.ie5||this.ie6 this.mac=this.agent.indexOf("Mac")>-1 this.ns6=(this.dom && parseInt(this.ver) > = 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5) верните это } bw=new check_browser() function show_message(txt){alert (текст); return false} function lib_obj(obj,nest){ if(!bw.bw) return show_message('Старый браузер') гнездо=(!nest) ? "":'document.'+nest+'.' this.evnt=bw.dom? document.getElementById(obj): bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0; if(!this.evnt) return show_message('Слой не существует ('+obj+')' +'- Если вы используете Netscape, проверьте вложенность ваших тегов!') this.css=bw.dom||bw .ie4?this.evnt.style:this.evnt; this.ref=bw.dom||bw.ie4?document:this.css.document; this.x=parseInt(this.css.left)||this.css.pixelLeft||this.evnt.offsetLeft||0; this.y=parseInt(this.css.top)||this.css.pixelTop||this.evnt.offsetTop||0 this.w=this.evnt.offsetWidth||this.css.clip.width|| this.ref.width||this.css.pixelWidth||0; this.h=this.evnt.offsetHeight||this.css.clip.height|| this.ref.height||this.css.pixelHeight||0 this.c=0 if((bw.dom || bw.ie4) && this.css.clip) { this.c=this.css.clip; this.c=this.c.slice(5,this.c.length-1); this.c=this.c.split(' '); for(var i=0;i<4;i++){this.c[i]=parseInt(this.c[i])} } this.ct=this.css.clip.top||this.c[0 ]||0; this.cr=this.css.clip.right||this.c[1]||this.w||0 this.cb=this.css.clip.bottom||this.c[2]||this. ч||0; this.cl=this.css.clip.left||this.c[3]||0 this.obj = obj + «Объект»; eval(this.obj + "=this") верните это } lib_obj.prototype.showIt = function(){this.css.visibility="visible"} lib_obj.prototype.hideIt = function(){this.css.visibility= "скрытый"} lib_obj.prototype.writeIt = function(text,startHTML,endHTML){ if(bw.ns4){ if(!startHTML){startHTML=""; endHTML=""} this.ref.open("text/html"); this.ref.write(startHTML+text+endHTML); this.ref.close() }else this.evnt.innerHTML=text } ////***************(DHTMLCentral.com)********* *******//// /* Код взят с сайта DynamicDrive.com (Начало) -> Сценарий постепенного выделения изображения II — Дж. Марк Биренбаум (birenbau@ugrad.cs.ualberta.ca) Для полной версии исходный код сценария см. на http://dynamicdrive.com */ nereidFadeObjects = new Object();nereidFadeTimers = new Object(); function nereidFade(object, destOp,rate, delta){ if (!document.all)return if (object != "[object]"){ setTimeout("nereidFade("+object+","+destOp+","+rate+ ","+дельта+")",0); return;} ClearTimeout(nereidFadeTimers[object.sourceIndex]); diff = destOp-object.filters.alpha.opacity; направление = 1; if (object.filters.alpha.opacity > destOp){direction = -1;} delta=Math.min(direction*diff,delta); object.filters.alpha.opacity+=направление*дельта; если (object.filters.alpha.opacity != destOp) {nereidFadeObjects[object.sourceIndex]=object; nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate); } } // <-- Код взят с сайта DynamicDrive.com (Конец) window.onload=new logoCurveInit(); //--> Завершить скрытие </SCRIPT><br><br><br><br><br><br><br><br> 用鼠标单击一下图片你可以看到非常好的效果! </div>