原生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 相关文章推荐
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
js中最容易被忽视的事件问题大总结
May 15 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
Aug 15 Javascript
jQuery插件Validation表单验证详解
May 26 jQuery
vue使用监听实现全选反选功能
Jul 06 Javascript
简单了解JavaScript异步
May 23 Javascript
深入了解JavaScript 防抖和节流
Sep 12 Javascript
VSCode搭建Vue项目的方法
Apr 30 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
Aug 11 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实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
javascript 写类方式之六
2009/07/05 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
python动态性强类型用法实例
2015/05/09 Python
python冒泡排序简单实现方法
2015/07/09 Python
python使用opencv读取图片的实例
2017/08/17 Python
wxPython色环电阻计算器
2019/11/18 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
几款好用的python工具库(小结)
2020/10/20 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
领导班子自我剖析材料
2014/08/16 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
起诉意见书范文
2015/05/19 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android