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


Posted in Javascript onJanuary 20, 2017

知识要点

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>

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

Javascript 相关文章推荐
JavaScript 事件对象的实现
Jul 13 Javascript
javascript 函数调用的对象和方法
Jul 01 Javascript
JavaScript实现的encode64加密算法实例分析
Apr 15 Javascript
浅析Node.js实现HTTP文件下载
Aug 05 Javascript
微信小程序 页面跳转传值实现代码
Jul 27 Javascript
React Native之prop-types进行属性确认详解
Dec 19 Javascript
koa2实现登录注册功能的示例代码
Dec 03 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
es6函数之rest参数用法实例分析
Apr 18 Javascript
微信小程序抽奖组件的使用步骤
Jan 11 Javascript
React如何创建组件
Jun 27 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
Jan 20 #Javascript
轻松理解Javascript变量的相关问题
Jan 20 #Javascript
js+css3实现旋转效果
Jan 20 #Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 #Javascript
浅谈angularjs $http提交数据探索
Jan 20 #Javascript
原生js实现无限循环轮播图效果
Jan 20 #Javascript
原生js实现弹出层效果
Jan 20 #Javascript
You might like
PHP中date()日期函数有关参数整理
2011/07/19 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
javascript 写类方式之九
2009/07/05 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
python批量爬取下载抖音视频
2019/06/17 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
2015年见习期工作总结
2014/12/12 职场文书
小学语文教师研修日志
2015/11/13 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
idea下配置tomcat避坑详解
2022/04/12 Servers