日期:2014-05-18 浏览次数:20173 次
以下是HTML网页特效代码,点击运行按钮可查看效果: 以下是程序代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <style> body { font-size:12px} #box { background:#FFFFCC; border:1px solid #FFCC66; width:600px; height:100px;display:none; text-align:right; margin:2px; overflow:hidden} #box2 { background:#CDEDEC; border:1px solid #3399CC; width:600px; height:100px;display:none;text-align:right; margin:2px; overflow:hidden} .bt_down {background: #DDDCE4 url(http://bbs.blueidea.com/images/default/arrow_down.gif) no-repeat 35px 46%; padding:5px 20px 5px 5px; text-align:left} #my {} #my .my_ { background:#DDDCE4; width:200px; height:150px; display:none; overflow:hidden} #my .my_ ul{ list-style:none; padding:0; margin:10px 0 10px 10px; height:140px} #my .my_ ul li { width:48%; float:left; text-align:center; line-height:22px; border-bottom:1px solid #B6B6C0} #s_img { width:430px; overflow:scroll; overflow-y:hidden;overflow-x:hidden; border:1px solid #ccc} #imgs ul { list-style:none; margin-left:0; padding-left:0} #imgs ul li{ float:left; margin:3px;} </style> <script> //下面重复的类似的我就不做注释了~~ //fast to slow 由快到慢 //声明一个函数f_s() function f_s(){ var obj=document.getElementById("box");//获取ID为box的对象 obj.style.display="block";//设置对象obj为显示 obj.style.width="1px"; //设置对象obj的宽度为1px var changeW=function(){ //(关于函数这一点,什么闭包,什么类、原型的,弄的我头大了,以后慢慢理解吧。这里我理解的是创建一个函数直接量并把它存进变量changeW里) var obj_w=parseInt(obj.style.width);//把对象的宽度转换为一个数值,并存入变量obj_w中; if(obj_w<600){ //判断,如果宽度数值小于600 obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//计算对象的宽度。。。随着宽度的变长,递增量越来越小 } else{ clearInterval(bw);//如果大于等于600的话,不再执行setInterval,意思就是这个时候停止增加宽度了。 } } var bw=window.setInterval(changeW,1)//每0.001秒调用一次changeW } //slow to fast 由慢到快 //声明一个函数s_f() function s_f(){ var obj=document.getElementById("box2"); var e_add=1;//初始化递增量 obj.style.display="block"; obj.style.width="1px"; var changeW=function(){//我理解的是创建一个函数直接量并把它存进变量changeW里 var obj_w;e_add obj_w=parseInt(obj.style.width); e_add*=1.05;//以后每次递增的值都是 if(obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//随着宽度的变长,递增量越来越大 } else{ clearInterval(bw); obj.style.width="600px";//因为(obj_w+e_add)这种计算方法会超出预定义的宽度,所以这里在缓冲完以后重新设置它的宽度.造成一种假象哈哈 } } var bw=window.setInterval(changeW,1) } //关闭层 function closeW(id,w){ var obj=document.getElementById(id);//获取ID为box的对象 obj.style.width=w; var closeDiv=function(){ var obj_w=parseInt(obj.style.width); if(obj_w>1){ obj.style.width=(obj_w-Math.ceil(obj_w)/20)+"px";//计算对象的宽度。。。随着宽度的变长,递增量越来越小 } else{ clearInterval(bw); obj.style.display="none"; } } var bw=window.setInterval(closeDiv,1)//每0.001秒调用一次changeW } //下面这个函数是打开我的↓ function open_my(){ var obj=document.getElementById("my_");//获取ID为box的对象 obj.style.display="block";//设置对象obj为显示 obj.style.width="1px"; //设置对象obj的宽度为1px obj.style.height="1px"; var changeW=function(){ //(关于函数这一点,什么闭包,什么类、原型的,弄的我头大了,以后慢慢理解吧。这里我理解的是创建一个函数直接量并把它存进变量changeW里) var obj_w=parseInt(obj.style.width);//把对象的宽度转换为一个数值,并存入变量obj_w中; var obj_h=parseInt(obj.style.height); if(obj_w<200 && obj_h<150){ //判断,如果宽度数值小于600 obj.style.width=(obj_w+Math.ceil((200-obj_w)/20))+"px";//计算对象的宽度。。。随着宽度的变长,递增量越来越小 obj.style.height=(obj_h+Math.ceil(