时间:2021-05-26
效果图:
代码如下:
<!doctype html><html><head> <meta charset="UTF-8"> <title>Title</title><style>*{margin:0; padding:0; list-style:none;}ul{ overflow:hidden; width:630px; margin:100px auto;}ul li{ float:left; position:relative; width:200px; height:200px; background:#ccc; margin:5px; overflow:hidden;}ul li span{ position:absolute; width:100%; height:100%; background:rgba(255,0,0,0.3); left:-200px; top:0;}</style><script>function getStyle(obj,sName){ return (obj.currentStyle||getComputedStyle(obj,false))[sName];}function move(obj,json,options){ options = options||{}; options.duration = options.duration||700; options.easing = options.easing||'ease-out'; var start = {}; var dis = {}; for(var name in json){ start[name] = parseFloat(getStyle(obj,name)); dis[name] = json[name]-start[name]; } var count = Math.floor(options.duration/30); var n = 0; clearInterval(obj.timer); obj.timer = setInterval(function(){ n++; for(var name in json){ switch(options.easing){ case 'linear': var cur = start[name]+dis[name]*n/count; break; case 'ease-in': var a = n/count; var cur = start[name]+dis[name]*Math.pow(a,3); break; case 'ease-out': var a = 1-n/count; var cur = start[name]+dis[name]*(1-Math.pow(a,3)); break; } if(name=='opacity'){ obj.style.opacity = cur; obj.style.filter = 'alpha(opacity:'+cur*100+')'; }else{ obj.style[name] = cur+'px'; } } if(n==count){ clearInterval(obj.timer); options.complete&&options.complete(); } },30);}function a2d(n){ return n*180/Math.PI;}function hoverDir(ev,obj){ var a = ev.clientX-obj.offsetLeft-obj.offsetWidth/2; var b = obj.offsetTop+obj.offsetHeight/2-ev.clientY; return Math.round((a2d(Math.atan2(b,a))+180)/90)%4;}function through(obj){ var oS = obj.children[0]; obj.onmouseenter = function(ev){ var oEvent = ev||event; var dir = hoverDir(oEvent,obj); switch(dir){ case 0: //左 oS.style.left = '-200px'; oS.style.top = 0; break; case 1: //下 oS.style.left = 0; oS.style.top = '200px'; break; case 2: //右 oS.style.left = '200px'; oS.style.top = 0; break; case 3: //上 oS.style.left = 0; oS.style.top = '-200px'; break; } move(oS,{left:0,top:0}); }; obj.onmouseleave = function(ev){ var oEvent = ev||event; var dir = hoverDir(oEvent,obj); switch(dir){ case 0: move(oS,{left:-200,top:0}); break; case 1: move(oS,{left:0,top:200}); break; case 2: move(oS,{left:200,top:0}); break; case 3: move(oS,{left:0,top:-200}); break; } };}window.onload = function(){ var aLi = document.getElementsByTagName('li'); for(var i=0;i<aLi.length;i++){ through(aLi[i]); }};</script></head><body> <ul> <li><span></span></li> <li><span></span></li> <li><span></span></li> <li><span></span></li> <li><span></span></li> <li><span></span></li> </ul></body></html>以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
仿Flash广告图片轮换效果--来自【心动】[JS部分__poto_bring.js]varfilters=newArray()filters[0]="prog
本文实例讲述了JS实现仿雅虎首页快捷登录入口及导航模块效果。分享给大家供大家参考。具体如下:这是一款JS实现仿雅虎首页网站快捷入口导航模块的代码,里面有用户登录
本文实例讲述了原生JS实现仿淘宝网左侧商品分类菜单效果代码。分享给大家供大家参考。具体如下:这是一款原生JS实现的仿淘宝网左侧商品分类菜单效果代码,JavaSc
本文实例讲述了js仿土豆网带缩略图的焦点图片切换效果实现方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:仿土豆网带缩略图的焦点图片切换效果/*R
本文实例讲述了JS实现仿中关村论坛评分后弹出提示效果的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:JS仿中关村论坛评分后弹出提示的效果var