带缓冲的 收缩与展开内容效果

猫小萌会百变

猫小萌会百变

2016-02-19 09:10

今天图老师小编给大家精心推荐个带缓冲的 收缩与展开内容效果教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~
兼容ie5.5+   firefox2.0(因为我只有这两个浏览器,所以只在它们中做了测试)

看到blueidea很多朋友都发了一些 收缩与展开内容的效果,唯一差的就是一个缓冲效果.不多说,运行一下就知道了,呵呵.
最大高度还需要固定数值.没有很好的解决方案.有兴趣的朋友帮忙解决一下拉,谢谢.
这个代码其他部分不会再发出更新和完善之后的了.如果需要封装就自己做做吧,呵呵.

放出代码为分享学习之用.请尊重别人的作品勿作商业用途!!!!!
代码如下:

html
head
script
/*
By Auntion
QQ 82874972
欢迎喜欢javascript 和 ajax的朋友++我QQ,大家共同进步,呵呵
使用方法
调用效果: Effect(1,2);
  其中1为: 被改变对象的id
  其中2为: 控制容器的id  可在使用:  this.parentNode.id  取得(父标签的id)
注意给对象ID的时候一定不要重复.
*/
function $G(Read_Id) { return document.getElementById(Read_Id) }
function Effect(ObjectId,parentId){
    if ($G(ObjectId).style.display == 'none'){
    Start(ObjectId,'Opens');
    $G(parentId).innerHTML = "a href=# onClick=javascript:Effect('"+ObjectId+"','"+parentId+"');关闭/a"
    }else{ 
    Start(ObjectId,'Close');
    $G(parentId).innerHTML = "a href=# onClick=javascript:Effect('"+ObjectId+"','"+parentId+"');打开/a"
    }
}
function Start(ObjId,method){
var BoxHeight = $G(ObjId).offsetHeight;               //获取对象高度
var MinHeight = 5;                                    //定义对象最小高度
var MaxHeight = 130;                                 //定义对象最大高度
var BoxAddMax = 1;                                    //递增量初始值
var Every_Add = 0.15;                                //每次的递(减)增量  [数值越大速度越快]
var Reduce = (BoxAddMax - Every_Add);
var Add    = (BoxAddMax + Every_Add);
if (method == "Close"){
var Alter_Close = function(){                        //构建一个虚拟的[递减]循环
    BoxAddMax /= Reduce;
    BoxHeight -= BoxAddMax;
    if (BoxHeight = MinHeight){
        $G(ObjId).style.display = "none";
        window.clearInterval(BoxAction);
    }
    else $G(ObjId).style.height = BoxHeight;
}
var BoxAction = window.setInterval(Alter_Close,1);
}
else if (method == "Opens"){
var Alter_Opens = function(){                        //构建一个虚拟的[递增]循环
    BoxAddMax *= Add;
    BoxHeight += BoxAddMax;
    if (BoxHeight = MaxHeight){
        $G(ObjId).style.height = MaxHeight;
        window.clearInterval(BoxAction);
    }else{
    $G(ObjId).style.display= "block";
    $G(ObjId).style.height = BoxHeight;
    }
}
var BoxAction = window.setInterval(Alter_Opens,1);
}
}
/script
style
body,div,table { font-size:12px;}
#control{ width:200; background-color:#ccc; font-size:12px; font-color:#333333; text-align:center; }
#control a { font-weight:900; line-height:30px; color:#333333; }
.test{ height:130;width:200;background-color:#ccc;display:block;overflow:hidden; }
.STYLE1 {
    font-size: 8px;
    color: #FFFFFF;
}
/style
/head
body
div id="control"
  table width="100%" height="30" border="0" cellpadding="0" cellspacing="0"
    tr
      td width="100%" style="text-align:center" bgcolor="#2DD5FF" id="testtab"a href="#" onClick="Effect('test',this.parentNode.id);"关闭/a/td
    /tr
  /table
/div
div id="test" class="test"
  table width="100%" height="130" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE"
    tr
      td colspan="3" style="text-align:center" valign="top"这br
        里br
        是br
        第br
        二br
        ,br
        很br
        正br
        常br/td
    /tr
  /table
/div
div id="control"
  table width="100%" height="10" border="0" cellpadding="0" cellspacing="0"
    tr
      td width="100%" style="text-align:center" valign="bottom" bgcolor="#00C0F0"span class="STYLE1"▲/span/td
    /tr
  /table
/div
br
div id="control"
  table width="100%" height="30" border="0" cellpadding="0" cellspacing="0"
    tr
      td width="100%" style="text-align:center" bgcolor="#2DD5FF" id="test1tab"a href="#" onClick="Effect('test1',this.parentNode.id);"关闭/a/td
    /tr
  /table
/div
div id="test1" class="test"
  table width="100%" height="130" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE"
    tr
      td colspan="3" style="text-align:center" valign="top"这br
        里br
        是br
        第br
        一br
        ,br
        很br
        正br
        常br/td
    /tr
  /table
/div
div id="control"
  table width="100%" height="10" border="0" cellpadding="0" cellspacing="0"
    tr
      td width="100%" style="text-align:center" valign="bottom" bgcolor="#00C0F0"span class="STYLE1"▲/span/td
    /tr
  /table
/div
/body
/html

两个都关闭的状态

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
一个打开一个关闭的状态

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
美化下的

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
展开更多 50%)
分享

猜你喜欢

带缓冲的 收缩与展开内容效果

Web开发
带缓冲的 收缩与展开内容效果

Javascript 层展开/关闭 - 运动缓冲效果

Web开发
Javascript 层展开/关闭 - 运动缓冲效果

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

滑动展开/收缩广告代码实例效果

电脑网络
滑动展开/收缩广告代码实例效果

JS实现的滑动展开与折叠效果

电脑网络
JS实现的滑动展开与折叠效果

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

javascript:JS实现的滑动展开与折叠效果

Web开发
javascript:JS实现的滑动展开与折叠效果

JS实现滑动展开与折叠效果

Web开发
JS实现滑动展开与折叠效果

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

教你使用Excel做数据分析之回归分析方法

教你使用Excel做数据分析之回归分析方法

javascript中的有名函数和无名函数

javascript中的有名函数和无名函数
下拉加载更多内容 ↓