js仿拉勾网首页穿墙广告效果

发布时间 - 2026-01-11 00:03:35    点击率:

效果图:

代码如下:

<!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>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # 穿墙广告  # 广告效果  # js漂浮广告实现代码(合集经典) 符合W3C  # 又一个不错的js浮动广告代码  # JS实现悬浮移动窗口(悬浮广告)的特效  # 兼容多浏览器的JS 浮动广告[推荐]  # js 居中漂浮广告  # js退弹 IE关闭时弹出广告代码  # 可以防止屏蔽  # 用javascript实现的仿Flash广告图片轮换效果  # js网页侧边随页面滚动广告效果实现  # 兼容性非常好的js右下角与漂浮广告代码  # Js右下角视频广告代码(百度视窗)  # background  # height  # absolute  # span  # ccc  # relative  # li  # auto  # position  # left  # float  # rgba  # currentStyle  # return  # sName  # move  # false  # getComputedStyle  # obj  # top 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何实现一对一模型关联?(Eloquent示例)  如何用y主机助手快速搭建网站?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel如何自定义分页视图?(Pagination示例)  C语言设计一个闪闪的圣诞树  在Oracle关闭情况下如何修改spfile的参数  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何快速搭建二级域名独立网站?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何基于云服务器快速搭建网站及云盘系统?  Laravel中的withCount方法怎么高效统计关联模型数量  详解jQuery停止动画——stop()方法的使用  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  香港服务器WordPress建站指南:SEO优化与高效部署策略  Android使用GridView实现日历的简单功能  如何确保FTP站点访问权限与数据传输安全?  如何用wdcp快速搭建高效网站?  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  如何快速生成可下载的建站源码工具?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Java遍历集合的三种方式  JavaScript如何操作视频_媒体API怎么控制播放  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何在腾讯云服务器快速搭建个人网站?  轻松掌握MySQL函数中的last_insert_id()  如何在万网自助建站中设置域名及备案?  jQuery 常见小例汇总  如何用AWS免费套餐快速搭建高效网站?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在云虚拟主机上快速搭建个人网站?  Thinkphp 中 distinct 的用法解析  如何在建站宝盒中设置产品搜索功能?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】