|
理解這段代碼就基本上掌握了
復制代碼 代碼如下:
function f_s() {
var obj = document.getElementById("top");
obj.style.display = "block";
obj.style.height = "1px";
var sw = function () {
var s_width = parseInt(obj.style.height);
if (s_width < 350) {
obj.style.height = (s_width + Math.ceil((350 - s_width) / 15)) + "px";
}
else {
clearInterval(st);
}
}
var st = window.setInterval(sw, 1);
}
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
中級版本
復制代碼 代碼如下:
/*
函數名稱: 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){
if(obj == undefined){return false;}
var h = h || 200;
var s = s || 1.2;
var obj = typeof(obj)=="string"?document.getElementById(obj):obj;
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;
}
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
高級版本
這個很全,不過,我是沒有看懂的.- -!!
http://www.cnblogs.com/cloudgamer/
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
打包下載
JavaScript技術:javascript 緩沖效果實現代碼 推薦,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。