js仿拉勾网首页穿墙广告效果
网络编程 2021-07-04 19:20www.168986.cn编程入门
本文主要介绍js仿拉勾网首页穿墙广告效果的实例,具有很好的参考价值。狼蚁网站SEO优化跟着长沙网络推广一起来看下吧
效果图
代码如下
<!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:#c; margin:5px; overflow:hidden;} ul li span{ position:absolute; width:100%; height:100%; background:rgba(255,0,0,0.3); left:-200px; :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:'+cur100+')'; }else{ obj.style[name] = cur+'px'; } } if(n==count){ clearInterval(obj.timer); options.plete&&options.plete(); } },30); } function a2d(n){ return n180/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. = 0; break; case 1: //下 oS.style.left = 0; oS.style. = '200px'; break; case 2: //右 oS.style.left = '200px'; oS.style. = 0; break; case 3: //上 oS.style.left = 0; oS.style. = '-200px'; break; } move(oS,{left:0,:0}); }; obj.onmouseleave = function(ev){ var oEvent = ev||event; var dir = hoverDir(oEvent,obj); switch(dir){ case 0: move(oS,{left:-200,:0}); break; case 1: move(oS,{left:0,:200}); break; case 2: move(oS,{left:200,:0}); break; case 3: move(oS,{left:0,:-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>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望多多支持狼蚁SEO!
上一篇:原生js实现瀑布流布局
下一篇:JavaScript中的工厂函数(推荐)
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指