简单实用的js缓冲效果

xiaoxiao2026-09-09  18

<!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.οnlοad= 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>

 

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

相关资源:Java 面经手册·小傅哥(公众号:bugstack虫洞栈).pdf
转载请注明原文地址: https://www.6miu.com/read-5052430.html

最新回复(0)