`
tof.j
  • 浏览: 132279 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类

简单实用的JS缓冲效果

阅读更多

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<title>层展开/关闭 - 运动缓冲效果</title>
<script type="text/javascript">
/*
    函数名称: Scroll
    Scroll(obj, h, s)
    参数说明:
        obj,[object]  id值或对象.     必需
          h,[height]  展开后的高度.   可选(默认为200px)
          s,[speed]   展开速度,值越小展开速度越慢. 可选(默认为1.2){建议取值为1.1到2.0之间[例如:1.17]}.
    函数返回值:
        true    展开(对象的高度等于展开后的高度)
        false   关闭(对象的高度等于原始高度)
*/
function Scroll(obj, h, s){
    var h = h || 200;
    var s = s || 1.2;
    var obj = typeof(obj)=="string"?document.getElementById(obj):obj;
    if(obj == undefined){return false;}
    var status = obj.getAttribute("status")==null;
    var oh = parseInt(obj.offsetHeight);
    obj.style.height = oh;
    obj.style.display = "block";
 obj.style.overflow = "hidden";
    if(obj.getAttribute("oldHeight") == null){
        obj.setAttribute("oldHeight", oh);
    }else{
        var oldH = Math.ceil(obj.getAttribute("oldHeight"));
    }
    var reSet = function(){
        if(status){
            if(oh < h){
                oh = Math.ceil(h-(h-oh)/s);
                obj.style.height = oh+"px";
            }else{
                obj.setAttribute("status",false);
                window.clearInterval(IntervalId);
            }
        }else{
            obj.style.height = oldH+"px";
            obj.removeAttribute("status");
            window.clearInterval(IntervalId);
        }
    }
    var IntervalId = window.setInterval(reSet,10);
 return status;
}
window.onload= function(){
    var $ = function(id){return document.getElementById(id)};
    $('menu').onclick = function(){
        Scroll('menu',this.scrollHeight,1.1);
    }
    $('test').onclick = function(){
        Scroll('test',300,1.2);
    }
}
</script>
</head>
<body>
<div id="test" style="border:1px solid #f00;width:200px">单击后 展开指定高度 300px</div>
<div id="menu" style="position:absolute;top:10px;left: 400px;border:1px solid #ccc;width:160px;height:16px;text-align:center;cursor:pointer;overflow:hidden;">
单击后 根据展开的高度根据内容而变<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
28<br />
29<br />
</div>
</body>
</html>

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wszhoho/archive/2009/06/03/4238609.aspx

分享到:
评论

相关推荐

    js模拟淘宝首页缓冲幻灯片效果

    js模拟淘宝首页缓冲幻灯片效果,代码简单易懂,注释清晰,下载后直接可以点击运行

    简单的缓冲的淡入层打开效果.rar

    简单的缓冲的淡入层打开效果

    JavaScript实现带缓冲效果的随屏滚动漂浮广告代码

    主要介绍了JavaScript实现带缓冲效果的随屏滚动漂浮广告代码,通过JavaScript结合时间函数动态响应页面元素滚动事件实现悬浮广告的缓冲漂浮效果,非常简单实用,需要的朋友可以参考下

    JavaScript实现跟随滚动缓冲运动广告框

    这里我用JavaScript简单的制作了一个随滚动缓冲运动的广告框。 制作的原理比较简单,大家都有一个完美的js运动框架,这里的缓冲运动需要用到。这里的广告框设定的是跟随滚动条缓冲运动并运动到浏览器的中间位置。...

    JS实现侧边栏鼠标经过弹出框+缓冲效果

    可能这个标题起得不够恰当,简单来说就是:当鼠标移到最左侧时,移出一个框。 首先,我们用两个div来简单布局以下页面: 分享到 这个分享框的弹出原理是:把内层div定位到外层div最右侧紧贴,然后把外层div定位...

    使用js实现弹出层

    在jsp页面,使用js实现弹出层效果,和缓冲的效果

    jquery.easing插件图片放大缩小动画效果

    它提供了简单的动画效果,如淡入淡出以及自定义动画效果,使用该插件可以实现直线匀速运功、变加速运动、缓冲等丰富的动画效果。 虽然说插件出来的时间比较长,但它小,经过很多网站的使用,成熟度也非常的高。...

    easing动画运动效果.zip

    easing动画运动效果是一款简单的如淡入淡出以及自定义动画效果,支持直线匀速运功、变加速运动、缓冲等丰富的动画效果。

    Javascript动画效果(1)

    在这篇博文中我们只介绍简单的匀速运动、简单的缓冲运动和简单的多物体运动后面我们还会介绍任意值变化的运动、链式运动、同时运动,同时我们还会简单的封装一个运动插件并且还会将Javascript方法和jquery方法进行...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    漂亮jQuery+CSS竖直菜单下拉展开菜单(手风琴)动画缓冲效果 42.漂亮jQuery四级滑出菜单插件带动画效果适合大多数网站 43.漂亮绿色jquery下拉菜单导航条源码下载 44.漂亮实用jquery绿色风格水平二级导航菜单 ...

    b64:使用内置缓冲区的简单 Base64 方法。 这意味着它只是一个抽象,并且将像 nodejs 缓冲区一样可靠

    使用内置缓冲区的简单 Base64 方法。 这意味着它只是一个抽象,并且会像 nodejs 缓冲区一样可靠。 npm install b64-utils 这个库只是一个小型的快速稳定库,用于清理所有新的 Buffer(blah ).toString() blah。 ...

    网页点击弹出、展开层效果集合

    163网盘折叠菜单*******div显示隐藏效果*********层展开关闭-运动缓冲效果**********动画效果打开层 关闭层************腾讯页内弹出窗口效果....... 开源程序 简约而不简单!对于学习html,提高兴趣非常有好处!......

    jquery.easing动画插件

    今天我给大家分享的是一款jQuery动画效果插件jquery.easing.js,使用该插件可以实现直线匀速运功、变加速运动、缓冲等丰富的动画效果。它非常小巧,且有多种动画方式供选择,使用简单且免费。

    WebGL编程指南压缩包

    JavaScript 程序(HelloCanvas.js) 17 用示例程序做实验 22 绘制一个点(版本1) 22 HelloPoint1.html 24 HelloPoint1.js 24 着色器是什么? 25 使用着色器的WebGL 程序的结构 27 初始化着色器 29 顶点着色...

    WebGL编程指南

    JavaScript 程序(HelloCanvas.js) 17 用示例程序做实验 22 绘制一个点(版本1) 22 HelloPoint1.html 24 HelloPoint1.js 24 着色器是什么? 25 使用着色器的WebGL 程序的结构 27 初始化着色器 29 顶点着色...

    webgl编程指南及源码1/2

    JavaScript 程序(HelloCanvas.js) 17 用示例程序做实验 22 绘制一个点(版本1) 22 HelloPoint1.html 24 HelloPoint1.js 24 着色器是什么? 25 使用着色器的WebGL 程序的结构 27 初始化着色器 29 顶点着色...

    webgl编程指南及源码2/2

    JavaScript 程序(HelloCanvas.js) 17 用示例程序做实验 22 绘制一个点(版本1) 22 HelloPoint1.html 24 HelloPoint1.js 24 着色器是什么? 25 使用着色器的WebGL 程序的结构 27 初始化着色器 29 顶点着色...

    KineticJS 史上最全教程+API

    KineticJS在此容器中创建一个称之为舞台(stage)的结构,这个舞台由一个不可见的后台层和一个不可见的缓冲层组成,提供了高性能的路径和像素检测能力。舞台上再包含若干(至少一层)用户层(layer),每个层上又...

    JAVA上百实例源码以及开源项目源代码

    JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很...

Global site tag (gtag.js) - Google Analytics