原生js实现网页顶部自动下拉/收缩广告效果

发布时间 - 2026-01-10 22:40:40    点击率:

知识要点

1.实现原理:

通过递归改变div的高度值达到缓慢下拉的效果。

2.一共分为3个步骤我写了三个函数

第一个show()函数(下拉):初始值高度h<300的话 h+5  反之return退出停止,调用setTimeout方法30毫秒执行一次+5

第二个hide()函数(收回):只是高度的判断不同高度h-5 反之return退出停止,调用setTimeout方法30毫秒执行一次-5

第三个dd()函数(再次弹出):这里要注意的是第二次弹出的div是一个新的div把它的高度设置为0,实现原理与第一个函数一样,

并且一定要在第二个函数(收回)执行后再执行

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo</title>
<style>
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
address,cite,dfn,em,var{font-style:normal;}
code,kbd,pre,samp{font-family:courier new,courier,monospace;}
ul,ol{list-style:none;}
a{text-decoration:none;}
a:hover{text-decoration:none;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
legend{color:#000;}
fieldset,img{border:0;}
button,input,select,textarea{font-size:100%;}
table{border-collapse:collapse;border-spacing:0;}
.clear{clear: both;float: none;height: 0;overflow: hidden;}
#container{width: 600px; margin: 0 auto;}
p{ line-height: 28px; }
.hidden{background: #E6E6E6; text-align: center; height: auto; overflow: hidden;}
.show{ background: #808080;text-align: center; height: 0; overflow: hidden; }
</style> 
</head> 
<body>
 <div id="container">
  <div class="hidden" id="hid"><p>广告图</p></div>
  <div class="show" id="sho"><p>哈哈哈哈改装成功</p></div>
 </div>
 <script type="text/javascript"> 
 window.onload=function aa(){
 show();
 setTimeout("hide()",3000);
 }
 var h=0;
 var hid=document.getElementById("hid");
 var sho=document.getElementById("sho");
 function show(){
 if(h<300){
  h+=5;
  hid.style.height=h+"px";
 }else{
  return;
 }
 setTimeout("show()",30);
 } 
 function hide(){
 if(h>0){
  h-=5;
  hid.style.height=h+"px";
 }else{
  dd();
  return;
 }
 setTimeout("hide()", 30);
 }
 var a=0;
 function dd(){
 if(a<60){
  a+=1;
  sho.style.height=a+"px";
 }else{
  return;
 }
 setTimeout("dd()",30);
 }
 </script>
</body> 
</html> 

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


# js  # 顶部  # 下拉  # 收缩  # JS实现关闭小广告特效  # js实现左右两侧浮动广告  # javascript实现循环广告条效果  # 基于JavaScript实现淘宝商品广告效果  # 用js屏蔽被http劫持的浮动广告实现方法  # JS使用cookie实现只出现一次的广告代码效果  # JavaScript实现弹出广告功能  # JavaScript实现广告弹窗效果  # JavaScript cookie 跨域访问之广告推广  # JS前端广告拦截实现原理解析  # 第一个  # 第二个  # 弹出  # 递归  # 的是  # 是一个  # 要注意  # 写了  # 哈哈哈哈  # 第三个  # 设置为  # 共分为  # Content  # Type  # http  # body  # equiv 


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


相关推荐: Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  如何快速生成可下载的建站源码工具?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  详解阿里云nginx服务器多站点的配置  手机网站制作与建设方案,手机网站如何建设?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  微信小程序 canvas开发实例及注意事项  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何快速搭建高效WAP手机网站吸引移动用户?  如何在万网自助建站平台快速创建网站?  大同网页,大同瑞慈医院官网?  Swift中循环语句中的转移语句 break 和 continue  如何在橙子建站上传落地页?操作指南详解  如何快速选择适合个人网站的云服务器配置?  如何快速搭建安全的FTP站点?  如何快速辨别茅台真假?关键步骤解析  Laravel如何创建自定义Facades?(详细步骤)  如何在宝塔面板中创建新站点?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  浅谈javascript alert和confirm的美化  手机软键盘弹出时影响布局的解决方法  千库网官网入口推荐 千库网设计创意平台入口  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  如何快速使用云服务器搭建个人网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  微信小程序 配置文件详细介绍  iOS验证手机号的正则表达式  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何用已有域名快速搭建网站?  JavaScript中的标签模板是什么_它如何扩展字符串功能  如何在建站宝盒中设置产品搜索功能?  如何挑选优质建站一级代理提升网站排名?  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel如何处理CORS跨域请求?(配置示例)  如何用狗爹虚拟主机快速搭建网站?  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  油猴 教程,油猴搜脚本为什么会网页无法显示?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  高防服务器:AI智能防御DDoS攻击与数据安全保障  微信小程序 HTTPS报错整理常见问题及解决方案  米侠浏览器网页背景异常怎么办 米侠显示修复  html如何与html链接_实现多个HTML页面互相链接【互相】  如何在IIS中新建站点并配置端口与物理路径?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?