原生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实现的动态添加表单元素input,button等(appendChild)
Nov 24 Javascript
jQuery UI-Draggable 参数集合
Jan 10 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
移动端JQ插件hammer使用详解
Jul 03 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
Aug 17 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 Javascript
浅谈JavaScript的自动垃圾收集机制
Dec 15 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 jQuery
深入浅析Vue中的Prop
Jun 10 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
vue 实现路由跳转时更改页面title
Nov 05 Javascript
原生JS实现分页
Apr 19 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
phpinfo 系统查看参数函数代码
2009/06/05 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
深入讲解Python中的迭代器和生成器
2015/10/26 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
python反转列表的三种方式解析
2019/11/08 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
iPython pylab模式启动方式
2020/04/24 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
爱与责任演讲稿
2014/05/20 职场文书
工程承包协议书
2014/10/20 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
2015年党小组工作总结
2015/05/26 职场文书
酒店宣传语大全
2015/07/13 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技