原生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 相关文章推荐
WEB 浏览器兼容 推荐收藏
May 14 Javascript
去掉gridPanel表头全选框的小例子
Jul 18 Javascript
Javascript变量作用域详解
Dec 06 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
React.js绑定this的5种方法(小结)
Jun 05 Javascript
layui table数据修改的回显方法
Sep 04 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 Javascript
Vue中jsx不完全应用指南小结
Nov 01 Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 Javascript
vue ssr+koa2构建服务端渲染的示例代码
Mar 23 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 Javascript
react-intl实现React国际化多语言的方法
Sep 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
Protoss魔法科技
2020/03/14 星际争霸
PHP获取MAC地址的具体实例
2013/12/13 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
js下写一个事件队列操作函数
2010/07/19 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
python ftplib模块使用代码实例
2019/12/31 Python
pygame实现弹球游戏
2020/04/14 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
幼儿园门卫制度
2014/01/29 职场文书
员工升职自荐信
2015/03/27 职场文书
永不妥协观后感
2015/06/10 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
基于Python实现流星雨效果的绘制
2022/03/18 Python
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server