JS+DIV实现的卷帘效果示例


Posted in Javascript onMarch 22, 2017

本文实例讲述了JS+DIV实现的卷帘效果。分享给大家供大家参考,具体如下:

1、实例代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>JS+DIV卷帘效果示例-F-BLOG</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <style type="text/css">
    #box{overflow:hidden;height:25px;border:1px solid #666;width:300px;background-color:#ccc;}
    p{padding:0px;margin:0px;line-height:25px;}
    #demo2{overflow:hidden;height:30px;border:1px solid #666;width:400px;background-color:#ff0000;}
    h4{padding:0px;margin:0px;height:30px;line-height:30px;}
   </style>
  <script type="text/javascript">
    function reBox(Fid,defaultHeight,speed){
      var bheight=defaultHeight;
      var doScroll;
      var a=0,b=0;
      var $=function(id){
        return document.getElementById(id);
      }
      var createBox="<div id='"+Fid+"cbox'>"+$(Fid).innerHTML+"</div>";
      $(Fid).innerHTML=createBox;
      $(Fid).onclick=function(){
        if(a==0&&b==0){
          b=1;
          doScroll=setInterval(function(){
            if(bheight<$(""+Fid+"cbox").offsetHeight){
              var dist=Math.ceil(($(""+Fid+"cbox").offsetHeight-bheight)/10);
              bheight=bheight+dist;
              $(Fid).style.height=bheight+"px";
            }else{
              clearInterval(doScroll);
              a=1;
              b=0;
            }
          },speed);
        }
        if(a==1&&b==0){
          b=1;
          doScroll=setInterval(function(){
            if(bheight>defaultHeight){
              var dist=Math.ceil((bheight-defaultHeight)/10);
              bheight=bheight-dist;
              $(Fid).style.height=bheight+"px";
            }else{
              clearInterval(doScroll);
              a=0;
              b=0;
            }
          },speed);
        }
      }
    }
    window.onload=function(){
      reBox("box",25,30);
      reBox("demo2",30,10);
    }
</script>
 </head>
 <body>
  <P>示例一:纵向,目标div:box,默认高度:25px,速度:30毫秒,调用:reBox("box",25,30)</P>
  <div id="box">
    <p>高级Web程序员</p>
    <p>1、了解HTTP协议,对Web程序性能优化有一定经验</p>
    <p>2、精通MySQL数据库,能熟练地运用SQL语言,有丰富的数据建模经验, 熟悉SQL语句调优和数据库调优</p>
    <p>3、熟练使用至少一种版本(CVS,SVN)控制工具</p>
    <p>4、熟悉PHP语言及常见扩展(如mysql、pcre、xml等)</p>
    <p>5、熟悉面向对象(OO)程序设计</p>
  </div>
  <P>示例二:纵向,目标div:demo2,默认高度:30px,速度:10毫秒,调用:reBox("demo",30,10)</P>
  <div id="demo2">
    <h4>数据挖掘工程师</h4>
    <p>1、对海量数据分析、挖掘有浓厚兴趣,沉稳厚重</p>
    <p>2、熟悉PHP、JavaScript、HTML设计开发</p>
    <p>3、了解HTTP协议,对程序性能优化有一定经验</p>
    <p>4、精通MySQL数据库,能熟练地运用SQL语言</p>
  </div>
  <p>PS:从效果看,速度为10毫秒比较好</p>
  <p>By:傅唯一 2009-1-26</p>
 </body>
</html>

2、运行效果图如下:

JS+DIV实现的卷帘效果示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
IE/FireFox具备兼容性的拖动代码
Aug 13 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
Feb 23 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
Jan 06 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
vue 中swiper的使用教程
May 22 Javascript
微信小程序支付功能 php后台对接完整代码分享
Jun 12 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
JS数组属性去重并校验重复数据
Jan 10 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 Javascript
Bootstrap页面标题Page Header的实现方法
Mar 22 #Javascript
javascript实现滑动解锁功能
Mar 22 #Javascript
Bootstrap警告(Alerts)的实现方法
Mar 22 #Javascript
bootstrap IE8 兼容性处理
Mar 22 #Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 #Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 #jQuery
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 #Javascript
You might like
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
ASP Json Parser修正版
2009/12/06 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
Python实现扫码工具的示例代码
2020/10/09 Python
Foreo国际站:Foreo International
2018/10/29 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
专科毕业生求职简历的自我评价
2013/10/12 职场文书
仓管岗位职责范本
2014/02/08 职场文书
文员求职信
2014/07/15 职场文书
个人授权委托书范文
2014/09/21 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
Python中22个万用公式的小结
2021/07/21 Python