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

2016-02-19 09:10 11 1 收藏

今天图老师小编给大家精心推荐个带缓冲的 收缩与展开内容效果教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - Web开发 】

兼容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需刷新才能执行]

来源:http://www.tulaoshi.com/n/20160219/1589793.html

延伸阅读
标签: word
Word2013中文档折叠或展开部分内容   ①首先我们启动Word2013,单击菜单栏--开始--样式,选择一种样式。 ②输入文字,如下图所示,方便之后的演示。 ③鼠标移动到文字上面,右击,选择折叠标题。 ④这样下面那一行就被折叠了。 解决Word2013禁用Web服务器访问的故障   ①我们打开Word2013,单击...
标签: PHP
       · limodou·转载PHP中文用户      我的具体实现的例子    为了帮助大家有个感性认识,这里我给出在我的主页上实现的基于文件处理的方法。只有主要的处理代码,不完整。   <?   1 $tmpfile="../tmp/".basename($REQUEST_URI);  &...
标签: PHP
简单的页面缓冲技术 -------------------------------------------------------------------------------- 2003-08-15 14:21:55 http://www.phprecord.com 其实说它为技术,也许不能说是真正的技术。这只不过是我自已想出来的页 面处理的方法,当然与别人的想法可能是一致的。不过我还是想给它一个好听的 名字。那么...
标签: 生活常识
哪种疝气带效果好 哪种疝气带效果好 首先,疝气是人身体体内的某个器官或组织部位离开它的正常解剖位置。常见的疝有手术复发疝、白线疝、脐疝腹股沟直疝、斜疝,切口疝、、股疝等。疝气发生的主要原是由于腔隙内压增高及存在先天躯体薄弱环节或自然通道形成的。 其次,先天发育不良或长期便秘、咳嗽等是小儿疝气多的主要原因。可以使...
我们长期的使用习惯可能会造成思维局限,其实Illustrator里有好多隐藏的功能,我们常用的可能是只是它的一部分。本文要讲的 Illustrator 的收缩和膨胀效果。探索新用法和技巧是很有好处的,发挥创造力和想象力,我们可以寻找到更快更灵活的做法。 完成效果如下。 首先声明,我并不会把每个步骤都叙述的非常详细,这适合有基础的人学习。...

经验教程

528

收藏

96
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部