javascript:图片切换特效

<script language =javascript >
    var curIndex=0;
    //时间间隔 单位毫秒
    var timeInterval=1000;
    var arr=new Array();
    arr[0]="1.jpg";
    arr[1]="2.jpg";
    arr[2]="3.jpg";
    arr[3]="4.jpg";
   arr[4]="5.jpg";
   arr[5]="6.jpg";
   arr[6]="7.jpg";
   setInterval(changeImg,timeInterval);
   function changeImg()
   {
       var obj=document.getElementById("obj");
      if (curIndex==arr.length-1
      {
            curIndex=0;
      }

      else
      {
         curIndex+=1;
      }

      obj.src=arr[curIndex];
   }

</script>

<img id=obj src ="1.jpg" border =0 />
 或者

<script language="JavaScript" defer>
<!--
var k=1;
var imgname1="pic/children";
var imgname2=".jpg";
var imgnub=6;
function start(){
 obj=eval("img1");
 // 这部分语句是用于改变切换样式,在23种样式中循环。
 if (obj.filters.item(0).Transition==23)
  obj.filters.item(0).Transition=1;
 else
  obj.filters.item(0).transition++;
  obj.filters.item(0).Apply();
  if (k<imgnub) {
   k++;
   }
   else {k=1;
 }
 obj.src=imgname1+k+imgname2;
 obj.filters.item(0).Play();
 setTimeout("start(1)",3000); // 每三秒钟刷新一次。
}
start();
-->
</script>

<img id=img1 width=100 height=100 style="filter:revealTrans(Transition=1,Duration=1.5)">

或者///

<style>
#g_div{text-align:right;overflow:hidden}
.b{width:24px; height:16px; background:#737373; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
.b:hover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
.bhover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
</style>

<div id="g_div" style="width:270px;height:252px"><a
href="#" target=_blank><img
id="g_img" style="FILTER:revealTrans(duration=1,transition=23);width:266px;height:220px;border:1px green solid" src="http://zi.csdn.net/xian.gif">
</a><a
href="http://www.baidu.com/" for="http://zi.csdn.net/xian.gif"  target="_blank">1.CSDN程序员</a><a
href="http://www.126.com/" for="http://zi.csdn.net/microsoft280_187.jpg"  target="_blank">2.CSDN程序员</a><a
href="http://mp3.baidu.com/"  for="http://zi.csdn.net/live.gif"   target="_blank">3.CSDN程序员</a><a
href="http://post.baidu.com/" for="http://zi.csdn.net/new-mba.gif"  target="_blank">4.CSDN程序员</a><a
href="http://top.baidu.com/" for="http://zi.csdn.net/book.jpg"  target="_blank">5.CSDN程序员</a>
</div>

<script language="JavaScript">
function f(){
var g_sec=3          //几秒后切换图片
var g_items=new Array()
var g_div=document.getElementById("g_div")
var g_img=document.getElementById("g_img")
var g_imglink=g_img.parentElement
var arr=g_div.getElementsByTagName("A")
var arr_length=arr.length
var g_index=1

var show_img=function(n){ 
   if (//d+/.test(n)){
var prev=g_index+1
g_index=n-1
   }else{  
var prev=(g_index>arr.length)?(arr_length-1):g_index+1
g_index=(g_index<arr_length-2)?(++g_index):0
   }
   if (document.all){
   g_img.filters.revealTrans.Transition=23;
  g_img.filters.revealTrans.apply();
  g_img.filters.revealTrans.play();
    }
 arr[prev].className="b" 
 arr[g_index+1].className="bhover"
 g_img.src="/blog/g_items[g_index].img.src"
 g_img.title=g_items[g_index].txt
 g_imglink.href="/blog/g_items[g_index].url ";
 g_imglink.target=g_items[g_index].target
 
}

for(var i=1;i<arr_length;i++){
g_items.push({txt:arr[i].innerHTML,
url:arr[i].href,
target:arr[i].target,
img:(function(){var o=new Image;o.src="/blog/arr[i].getAttribute"("for");return o})()})
arr[i].title=arr[i].innerHTML
arr[i].innerHTML=[i,"&nbsp;"].join("")
arr[i].className="b"
arr[i].οnclick=function(){
event.returnValue=false;
show_img(event.srcElement.innerText)
}
}
show_img(1)
var t=window.setInterval(show_img,g_sec*1000)
g_img.οnmοuseοver=function(){window.clearInterval(t)}
g_img.οnmοuseοut=function(){t=window.setInterval(show_img,g_sec*1000)} 
}

window.attachEvent("onload",f)
</script>

或者///

js常用语句及语法详细介绍

css 滤镜 : Pixelate
Pixelate兼容性:IE5.5+
语法:
filter : progid:DXImageTransform.Microsoft.Pixelate ( enabled=bEnabled ‚ duration=fDuration ‚ maxSquare=iWidth )
属性
enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false true : 默认值。滤镜激活。
false : 滤镜被禁止。

duration : 可选项。浮点数(Real)。设置或检索转换完成所用的时间。其值为秒.毫秒(0.0000)格式。
你可以使用 play 方法的 iDuration 参数设置转换回放的持续时间。然而,当你一旦调用了 play 方法,在回放持续过程中 Duration 特性就变为只读特性。
maxSquare : 可选项。整数值(Integer)。设置或检索转换中矩形色块的最大宽度。取值范围为 2 - 50 。默认值为 50 。

特性:
Enabled : 可读写。布尔值(Boolean)。参阅 enabled 属性。
Duration : 可读写。浮点数(Real)。参阅 duration 属性。
MaxSquare : 可读写。整数值(Integer)。参阅 maxSquare 属性。
Percent : 可读写。字符串(String)。设置或检索当前静态滤镜输出在转换进程中所处的点。取值范围为 0 - 100 。默认值为 0 ,转换尚未开始。 100 为转换完成。
此特性可用于使用转换滤镜建立静态滤镜效果。设置其值等于定义了转换进程停止的点。使用转换滤镜建立静态滤镜效果可遵循以下步骤:
使用转换滤镜的 apply 方法。这将捕获对象内容的初始显示,设置 Percent 特性值为 0 。
改变对象内容。如 visibility , innerText , background-color , border ,或者其子对象的属性。
设置转换滤镜的 Percent 特性。即确定你希望的转换进程中某一点。这将捕获到转换进程中在该点处的一张内容图像。
设置转换滤镜的 Enabled 特性值为 true 。则滤镜作用的对象将依据获取到的图像更新其内容。
请注意:你只能使用 visibility 属性来改变对象的子对象。否则,对子对象的直接改变会被立即显示出来,而不会被转换滤镜捕获。
status : 只读。整数值(Integer)。检索转换的当前状态。0 | 1 | 2 0 : 转换停止(stop)。
1 : 转换被应用(apply)。
2 : 转换在进行(play)。
方法:
apply : 捕获对象内容的初始显示,为转换做必要的准备。无返回值。
当此方法一旦被调用后,对象属性的任何改变都不会被显示,直到你调用 play 方法开始转换。
请注意:你只能使用 visibility 属性来改变对象的子对象。否则,对子对象的直接改变会被立即显示出来,而不会被转换滤镜捕获。
当你调用 play 方法时,转换呈现出内容的变化结果(对象的属性和子对象的 visibility 属性的改变)。
play ( iDuration ) : 开始转换。无返回值。参数见下表。
iDuration : 可选项。浮点数(Real)。 指定滤镜作用持续的时间。默认单位为秒。
使用 play 方法的 iDuration 参数设置转换回放的持续时间,其值在转换的当前一个周期内会替换 Duration 属性的设置。但是下一次转换会恢复使用 Duration 属性设置的值。
stop : 停止转换回放。并呈现转换结果图像。同时激发 onfilterchange 事件。无返回值。
说明:
这个转换滤镜是一个复杂的视觉效果。在转换的前半段,对象内容先显示为矩形色块拼贴,然后矩形的宽度由一个像素增加至 MaxSquare 属性所设置的值。每个矩形的颜色由其所覆盖区域的像素的颜色平均值决定。接下来的转换的后半段,矩形被还原为新内容具体的图像像素,显示出新的内容。
在使用此转换滤镜前设置此滤镜的 Enabled 特性值为 false 。这将预防在转换发生前彩色拼贴效果的静态滤镜先在对象内容上发生作用。
代码

<html xmlns:rdl>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Rainer's Handbook</title>
<style>
body{margin:0px;padding:16px;background:#FFFFFF;overflow:auto;}
body‚table‚input‚select‚textarea‚a{font-family:verdana‚tahoma‚arial;font-size:11px;color:#000000;word-break:break-all;}
table‚img{border:0px;}
a{text-decoration:none;color:#003399;}
a:hover{color:#000000;text-decoration:underline;}
#id_div3{padding-top:8px;border-top:1px solid #000000;line-height:15px;}
#id_span3{font-size:10px;font-family:tahoma;}
</style>
<style>
#idParentDiv{width:100%;height:120px;padding:6px;background-color:buttonshadow;position:relative;filter:progid:DXImageTransform.Microsoft.Pixelate(enabled="false");}
#idDiv1{width:200px;height:100px;background-color:#000000;color:#FFFFFF;padding:4px;position:absolute;z-index:3;visibility:hidden;}
#idDiv2{width:200px;height:100px;background-color:#000000;color:#FFFFFF;padding:4px;position:absolute;z-index:4;visibility:visible;}
#idCodeDiv{width:100%;padding:4px;font-family:verdana‚tahoma;margin:12px 0px 0px 0px;background-color:#EEEEEE;font-weight:bold;}
</style>
<script>
var sBaseStr="filter : progid:DXImageTransform.Microsoft.Pixelate ( ";
var oParentDiv‚oCodeDiv;
function rdl_doInit(e){
oParentDiv=document.all("idParentDiv");
oCodeDiv=document.all("idCodeDiv");
rdl_play();
}
function rdl_change(e){
with (document.all("idSel1")) var sValue1=options[selectedIndex].value;
with (document.all("idSel2")) var sValue2=options[selectedIndex].value;
oCodeDiv.innerText=sBaseStr+"‚enabled="+oParentDiv.filters[0].enabled+"‚duration="+sValue1+"‚maxSquare="+sValue2+" ) ;";
with (oParentDiv.filters[0]) {
Duration=sValue1;MaxSquare=sValue2;
}
}
function rdl_play(){
with (oParentDiv) {
if (children[0].style.visibility=="hidden") children[1].style.visibility="visible";
else children[1].style.visibility="hidden";
filters[0].Apply();
if (children[0].style.visibility=="hidden") children[0].style.visibility="visible";else children[0].style.visibility="hidden";
if (children[1].style.visibility=="hidden") children[1].style.visibility="visible";else children[1].style.visibility="hidden";
filters[0].play();
}
}
window.οnlοad=rdl_doInit;
</script>
</head>
<body>
<div id=idParentDiv>
<div id=idDiv1><img src="http://www.blueidea.com/articleimg/bbsimg/topic5.gif" style="float:left;border:1px solid #FFFFFF;">我是合成滤镜获取的输入<b> A </b>。</div>
<div id=idDiv2><img src="http://www.blueidea.com/articleimg/bbsimg/reply5.gif" style="float:left;border:1px solid #FFFFFF;">我是合成滤镜获取的输入<b> B </b>。</div>
</div>
<br>
<table><tr><td>
<select id=idSel1 οnchange="rdl_change();">
<option value="0.5" style="font-weight:bold;">---Duration---
<option value="1">1
<option value="2">2
<option value="4">4
<option value="5">5
<option value="6">6
<option value="12">12
</select>
</td><td>
<select id=idSel2 οnchange="rdl_change();">
<option value="50" style="font-weight:bold;">---MaxSquare---
<option value="25">25
<option value="10">10
<option value="5">5
</select>
</td><td>
<input type=button value=" Play " οnclick="if (oParentDiv!=null) rdl_play();">
</td><td>
<input type=button value=" Stop " οnclick="if (oParentDiv!=null) oParentDiv.filters[0].stop();">
</td></tr></table>
<br>
<div id=idCodeDiv>filter : progid:DXImageTransform.Microsoft.Pixelate (enabled="false")</div>
<br>&nbsp;<br>&nbsp;<br>
<div id=id_div3>苏昱作品·版权所有<br><span id=id_span3>&copy;2002 Rainer Su . All rights reserved .</span></div>
</body>
</html>


forestgan写的效果如下:


<script language="JavaScript1.1">
var slidespeed=3000
//specify images
var slideimages=new Array("http://www.blueidea.com/articleimg/upload/2006/3/5/2482150_1_7.jpg"‚"http://www.blueidea.com/articleimg/upload/2006/3/5/2482150_2_1.jpg"‚"http://www.blueidea.com/articleimg/upload/2006/3/5/2482150_3_2.jpg")
//specify corresponding links
var slidelinks=new Array("#"‚"#"‚"#")
var imageholder=new Array()
var ie55=window.createPopup
for (i=0;i<slideimages.length;i++){
imageholder[i]=new Image()
imageholder[i].src=slideimages[i]
}
function gotoshow(){
window.location=slidelinks[whichlink]
}
//-->
</script>
<a href="javascript:gotoshow()"><img src="http://www.blueidea.com/articleimg/upload/2006/3/5/2482150_1_7.jpg" name="slide" border=0 style="filter:progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=15‚Duration=1)"></a>
<script language="JavaScript1.1">
<!--
var whichlink=0
var whichimage=0
var pixeldelay=(ie55)? document.images.slide.filters[0].duration*1000 : 0
function slideit(){
if (!document.images) return
if (ie55) document.images.slide.filters[0].apply()
document.images.slide.src=imageholder[whichimage].src
if (ie55) document.images.slide.filters[0].play()
whichlink=whichimage
whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0
setTimeout("slideit()"‚slidespeed+pixeldelay)
}
slideit()
//-->
</script>
或者
a target=_self href="javascript:goUrl()">
<span class="f14b">
<script type="text/javascript">
imgUrl1="http://www.fansart.com/qiehuan/1.jpg";
imgtext1="http://www.fansart.com"
imgLink1=escape("http://fansart.com/");
imgUrl2="http://www.fansart.com/qiehuan/2.jpg";
imgtext2="http://www.fansart.com"
imgLink2=escape("http://fansart.com");
imgUrl3="http://www.fansart.com/qiehuan/3.jpg";
imgtext3="http://www.fansart.com"
imgLink3=escape("http://fansart.com/");
imgUrl4="http://www.fansart.com/qiehuan/4.jpg";
imgtext4="http://www.fansart.com"
imgLink4=escape("http://fansart.com");
imgUrl5="http://www.fansart.com/qiehuan/5.jpg";
imgtext5="http://www.fansart.com"
imgLink5=escape("http://fansart.com/");
var focus_width=220
var focus_height=160
var text_height=21
var swf_height = focus_height+text_height

var pics=imgUrl1+"|"+imgUrl2+"|"+imgUrl3+"|"+imgUrl4+"|"+imgUrl5
var links=imgLink1+"|"+imgLink2+"|"+imgLink3+"|"+imgLink4+"|"+imgLink5
var texts=imgtext1+"|"+imgtext2+"|"+imgtext3+"|"+imgtext4+"|"+imgtext5
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6‚0‚0‚0 width="'+ focus_width +'" height="'+ swf_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="http://www.webjx.com/js/focus.swf"><param name="quality" value="high"> <param name="bgcolor" value="#F0F0F0">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight=' +focus_height+'&textheight='+text_height+'">');
document.write('<embed src="pixviewer.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight= '+focus_height+'&textheight='+text_height+'" menu="false" bgcolor="#F0F0F0" quality="high" width ="'+ focus_width +'" height="'+ focus_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
</script>
</span></a><span id=focustext class=f14b> </span>

看到这种图片切换的效果吗?用来切换旗帜广告将是个很好的选择。下面我们来讲一讲具体的做法:

第一步、把下面这段代码插入到页面的<head>与</head>之间:

<script language=javascript>
isns = navigator.appName == "Netscape";
function ztstr(id,picurl,linkurl)
{
this.id=id
this.picurl=picurl
this.linkurl=linkurl
}

zhuanti=new Array()
imgcount=1;
frequency=10*1000;//30秒

//在这里修改图片的路径和链接
zhuanti[1]=new ztstr('1','http://www.windstudio.net/banner/banner1.gif','http://www.windstudio.net')
zhuanti[2]=new ztstr('2','http://www.windstudio.net/banner/banner2.gif','http://www.windstudio.net')
zhuanti[3]=new ztstr('3','http://www.windstudio.net/banner/banner3.gif','http://www.windstudio.net')
zhuanti[4]=new ztstr('4','http://www.windstudio.net/banner/banner4.gif','http://www.windstudio.net')

imgcount=zhuanti.length-1
for(i=1;i<=imgcount;i++)
{
eval("img"+i+"=new Image()")
eval("img"+i+".src=zhuanti["+i+"].picurl")
}

nn=1

var rand1 = 0;
var useRand = 0;

function swapPic() {
var imgnum = zhuanti.length - 1;
do {
var randnum = Math.random();
rand1 = Math.round((imgnum - 1) * randnum) + 1;
} while (rand1 == useRand);
useRand = rand1;
// alert(useRand);
nn=useRand;
change_img();
}

function change_img()
{
eval('document.pic.src=img'+nn+'.src');
nn++;
if(nn>imgcount) nn=1
if(!isns)
{
pic.filters.item(0).apply()
pic.style.visibility='visible'
pic.filters.item(0).play()
setTimeout("pic.style.visibility='hidden'",frequency);
}
else
document.pic.visibility='visible'
tt=setTimeout('change_img()',frequency)
}

function pictarget()
{
tt=nn-1
if(tt<1) tt=imgcount
cururl=zhuanti[tt].linkurl
window.open(cururl);
}
function ini()
{
if(!isns)
{
spacewidth=Math.round((divmask.offsetWidth-770)/2)
dmwidth=770+spacewidth
dmheight=divmask.offsetHeight
totalstep=50
timeout=50
dmstepw=Math.round(770/totalstep)
dmsteph=Math.round(dmheight/totalstep)
setTimeout('hidimg()',3000)
}
else swapPic()
}

function hidimg()
{
dmwidth-=dmstepw
dmheight-=dmsteph
eval('divmask.style.clip="rect(0,'+dmwidth+','+dmheight+',0)"')
hdrun=setTimeout('hidimg()',timeout)
if(dmwidth<=spacewidth&&dmheight<=0)
{
divmask.style.visibility='hidden'
clearTimeout(hdrun)
swapPic()
}
}
</script>

第二步、调用定义好的JavaScript函数,在<body>里加上以下代码:

<body οnlοad=swapPic()>

第三步、在页面中插入图片和链接:

<a href=javascript:void(null) οnclick='javascript:pictarget();return false;'><img src="http://www.windstudio.net/banner/banner1.gif" width=468 height=60 border=0 name=pic style="visibility:hidden;filter:revealtrans(duration=2.0,transition=12)"></a>

好,到这里就大功告成了。另外,试试改变transition的数值,可以得到不同的转换效果哟~~

或者///

<SCRIPT language=JavaScript> 
<!-- // BannerAD 
      
var bannerAD=new Array(); 
var bannerADlink=new Array(); 
var adNum=0; 
      
bannerAD[0]="indexbanner/1.jpg"; 
bannerADlink[0]="#"; 
bannerAD[1]="indexbanner/2.jpg"; 
bannerADlink[1]="#"; 
bannerAD[2]="indexbanner/3.jpg"; 
bannerADlink[2]="#"; 
bannerAD[3]="indexbanner/4.jpg"; 
bannerADlink[3]="#"; 
bannerAD[4]="indexbanner/5.jpg"; 
bannerADlink[4]="#"; 
bannerAD[5]="indexbanner/6.jpg"; 
bannerADlink[5]="#"; 
bannerAD[6]="indexbanner/7.jpg"; 
bannerADlink[6]="#"; 
bannerAD[7]="indexbanner/8.jpg"; 
bannerADlink[7]="#"; 
      
var preloadedimages=new Array(); 
for (i=0;i<bannerAD.length;i++){ 
preloadedimages=new Image(); 
preloadedimages.src=bannerAD; 

      
function setTransition(){ 
if (document.all){ 
bannerADrotator.filters.revealTrans.Transition=Math.floor(Math.random()*23); 
bannerADrotator.filters.revealTrans.apply(); 


      
function playTransition(){ 
if (document.all) 
bannerADrotator.filters.revealTrans.play() 

      
function nextAd(){ 
if(adNum<bannerAD.length-1)adNum++ ; 
else adNum=0; 
setTransition(); 
document.images.bannerADrotator.src=bannerAD[adNum]; 
playTransition(); 
theTimer=setTimeout("nextAd()", 3500); 

      
function jump2url(){ 
jumpUrl=bannerADlink[adNum]; 
jumpTarget='_blank'; 
if (jumpUrl != ''){ 
if (jumpTarget != '')window.open(jumpUrl,jumpTarget); 
else location.href=jumpUrl; 


function displayStatusMsg() { 
status=bannerADlink[adNum]; 
document.returnValue = true; 

      
//--> 
      
</SCRIPT>
            <A οnmοuseοver="displayStatusMsg();return document.returnValue" 
            href="javascript:jump2url()"><IMG 
            style="FILTER: revealTrans(duration=2,transition=23)" 
            src="TungstenCore.files/1.jpg" border=0 name=bannerADrotator> </A>
            <SCRIPT language=JavaScript>nextAd()</SCRIPT>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值