原生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 相关文章推荐
jquery模拟LCD 时钟的html文件源代码
Jun 16 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
Dec 15 Javascript
js控制输入框获得和失去焦点时状态显示的方法
Jan 30 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
Mar 06 Javascript
js实现图片淡入淡出切换简易效果
Aug 22 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 Javascript
BootStrap导航栏问题记录
Jul 31 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
Mar 06 Javascript
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
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与C#分别格式化文件大小的代码
2011/05/14 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
jquery获取节点名称
2015/04/26 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
PyMongo安装使用笔记
2015/04/27 Python
Python 的类、继承和多态详解
2017/07/16 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
《唯一的听众》教学反思
2014/02/20 职场文书
年终晚会主持词
2014/03/25 职场文书
企业宣传工作方案
2014/06/02 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS