原生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高级程序设计
Dec 29 Javascript
9个javascript语法高亮插件 推荐
Jul 18 Javascript
7个让JavaScript变得更好的注意事项
Jan 28 Javascript
jQuery.Callbacks()回调函数队列用法详解
Jun 14 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
JavaScript兼容性总结之获取非行间样式案例
Aug 07 Javascript
js 获取当前web应用的上下文路径实现方法
Aug 19 Javascript
微信小程序 动态绑定事件并实现事件修改样式
Apr 13 Javascript
react中的ajax封装实例详解
Oct 17 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
Sep 07 Javascript
如何使用webpack打包一个库library的方法步骤
Dec 18 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 调用远程url的六种方法小结
2009/11/02 PHP
php 判断数组是几维数组
2013/03/20 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
PHP强制转化的形式整理
2020/05/22 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
Python 实现简单的电话本功能
2015/08/09 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
python绘制雪景图
2019/12/16 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
小学教师节活动方案
2014/01/31 职场文书
中央空调节能方案
2014/06/15 职场文书
基层党员对照检查材料
2014/08/25 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
党员公开承诺书2016
2016/03/24 职场文书