最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)帶緩沖效果的仿QQ面板折疊菜單代碼

 更新時間:2015年09月06日 17:27:07   作者:企鵝  
這篇文章主要介紹了js實現(xiàn)帶緩沖效果的仿QQ面板折疊菜單代碼,通過JavaScript定時函數(shù)遞歸調(diào)用實現(xiàn)折疊菜單的緩沖效果,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了js實現(xiàn)帶緩沖效果的仿QQ面板折疊菜單代碼。分享給大家供大家參考。具體如下:

帶緩沖效果的仿QQ面板折疊菜單代碼,使用方法:調(diào)用效果: Effect(1,2);
其中1為: 被改變對象的id
其中2為: 控制容器的id 可在使用: this.parentNode.id 取得(父標簽的id)

注意給對象ID的時候一定不要重復。

運行效果如下圖所示:

在線演示地址如下:

http://demo.jb51.net/js/2015/js-buffer-style-qq-menu-codes/

具體代碼如下:

<html>
<head>
<title>帶緩沖效果的仿QQ面板折疊菜單代碼</title>
<script>
function $G(Read_Id) { return document.getElementById(Read_Id) }
function Effect(ObjectId,parentId){
var Obj_Display = $G(ObjectId).style.display;
 if (Obj_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;//每次的遞(減)增量 [數(shù)值越大速度越快]
var Reduce = (BoxAddMax - Every_Add);
var Add = (BoxAddMax + Every_Add);
//關(guān)閉動作**
if (method == "Close"){
var Alter_Close = function(){//構(gòu)建一個虛擬的[遞減]循環(huán)
 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>
table{width:192px;overflow:hidden}
#control,#control table,#control table td{ font-size:12px;}
#control{ width:192px; background-color:#ccc; font-size:12px; font-color:#333333; text-align:center; }
#control table{ width:192px; height:20px; overflow:hidden}
#control table li{ list-style:none;height:20px;line-height:20px; overflow:hidden}
#control table .tabTit{background:#E0E8B8;}
#control a { font-weight:normal; font-size:24px; color:#6F7848; text-decoration:none; padding-right:10px;}
#control .testLink{ font-weight:bold; font-size:12px}
.test{ width:192px;background-color:#f6f6f6;overflow:hidden; }
.test li{ list-style:none; color:#000; font-size:13px; line-height:20px;}
#control table,.test table{ margin:0 auto; text-align:center}
.STYLE1 {
 font-size: 8px;
 color: #fff;
}
</style>
</head>
<body>
<div id="control">
 <table width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <td width="100%" align="center" class="tabTit" ><li id="testtab" style="float:right"><a href="#" onClick="Effect('test',this.parentNode.id);" >+</a> </li><li style="float:left"><a href="#" onClick="Effect('test');" class="testLink">緩沖菜單</a> </li></td>
 </tr>
 </table>
</div>
<div id="test" class="test" style="display:none;">
 <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE">
 <tr>
 <td colspan="3" align="center" valign="top"><ul><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li></ul></td>
 </tr>
 </table>
</div>
<br>
<div id="control">
 <table width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <td width="100%" align="center" class="tabTit" ><li id="test1tab" style="float:right"><a href="#" onClick="Effect('test1',this.parentNode.id);" >+</a> </li><li style="float:left"><a href="#" onClick="Effect('test1');" class="testLink">緩沖菜單</a></li></td>
 </tr>
 </table>
</div>
<div id="test1" class="test" style="display:none;">
 <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE">
 <tr>
 <td colspan="3" align="center" valign="top"><ul><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li><li>緩沖菜單</li></ul></td>
 </tr>
 </table>
</div>
<br>
<div id="control">
 <table width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <td width="100%" align="center" class="tabTit" ><li id="test2tab" style="float:right"><a href="#" onClick="Effect('test2',this.parentNode.id);" >+</a> </li><li style="float:left"><a href="#" onClick="Effect('test2');" class="testLink">緩沖菜單</a></li></td>
 </tr>
 </table>
</div>
<div id="test2" class="test" style="display:none;">
 <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE">
 <tr>
 <td colspan="3" align="center" valign="top"><ul><li>緩沖菜單</li><li>緩沖菜單</li></ul></td>
 </tr>
 </table>
</div>
<br>
<div id="control">
 <table width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <td width="100%" align="center" class="tabTit" ><li id="test3tab" style="float:right"><a href="#" onClick="Effect('test3',this.parentNode.id);" >+</a> </li><li style="float:left"><a href="#" onClick="Effect('test3');" class="testLink">緩沖菜單</a></li></td>
 </tr>
 </table>
</div>
<div id="test3" class="test" style="display:none;">
 <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE">
 <tr>
 <td colspan="3" align="center" valign="top"><ul><li>緩沖菜單</li><li>緩沖菜單</li></ul></td>
 </tr>
 </table>
</div>
<br>
<div id="control">
 <table width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <td width="100%" align="center" class="tabTit" ><li id="test4tab" style="float:right"><a href="#" onClick="Effect('test4',this.parentNode.id);" >+</a> </li><li style="float:left"><a href="#" onClick="Effect('test4');" class="testLink">緩沖菜單</a></li></td>
 </tr>
 </table>
</div>
<div id="test4" class="test" style="display:none;">
 <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#EEEEEE">
 <tr>
 <td colspan="3" align="center" valign="top"><ul><li>緩沖菜單</li><li>緩沖菜單</li></ul></td>
 </tr>
 </table>
</div>
</body>
</html>

希望本文所述對大家的JavaScript程序設(shè)計有所幫助。

相關(guān)文章

  • JS監(jiān)聽dom高度變化幾種常用方法總結(jié)

    JS監(jiān)聽dom高度變化幾種常用方法總結(jié)

    我們在開發(fā)中會遇到一些需求,需要監(jiān)聽元素變化,比如元素屬性變化,元素大小變化,這篇文章主要給大家介紹了關(guān)于JS監(jiān)聽dom高度變化幾種常用方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 利用JS實現(xiàn)AI自動玩貪吃蛇

    利用JS實現(xiàn)AI自動玩貪吃蛇

    這篇文章主要為大家詳細介紹了如何利用JS實現(xiàn)AI版自動玩貪吃蛇小游戲,文中的示例代碼講解詳細,對我們學習JS游戲開發(fā)有一定幫助,需要的可以參考一下
    2022-06-06
  • 多個表單中如何獲得這個文件上傳的網(wǎng)址實現(xiàn)js代碼

    多個表單中如何獲得這個文件上傳的網(wǎng)址實現(xiàn)js代碼

    假設(shè)一個網(wǎng)頁里有多個表單,其中一個表單里有文件上傳,問題是如何獲得這個文件上傳的網(wǎng)址呢,接下來為大家介紹下實現(xiàn)的js代碼,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-03-03
  • javascript中關(guān)于去重操作的使用

    javascript中關(guān)于去重操作的使用

    這篇文章主要介紹了javascript中關(guān)于去重操作的,在JS中關(guān)于數(shù)據(jù)去重操作的使用是非常常用,也是非常重要的點,一般情況下關(guān)于對數(shù)組去重點操作是最常用的,下文我們就來介紹js去重相關(guān)內(nèi)容,需要的朋友可以參考下
    2022-04-04
  • javascript 圖片裁剪技巧解讀

    javascript 圖片裁剪技巧解讀

    本文將提供php版的JavaScript裁剪圖片代碼,僅供大家參考
    2012-11-11
  • 小程序?qū)崿F(xiàn)側(cè)滑刪除功能

    小程序?qū)崿F(xiàn)側(cè)滑刪除功能

    這篇文章主要為大家詳細介紹了小程序?qū)崿F(xiàn)側(cè)滑刪除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JavaScript中的類數(shù)組對象介紹

    JavaScript中的類數(shù)組對象介紹

    這篇文章主要介紹了JavaScript中的類數(shù)組對象介紹,一個對象并不是由Array構(gòu)造函數(shù)所創(chuàng)建的,它依然呈現(xiàn)出數(shù)組的行為,在這種情況下,這些對象被稱為“類數(shù)組對象”,需要的朋友可以參考下
    2014-12-12
  • JavaScript導航腳本判斷當前導航

    JavaScript導航腳本判斷當前導航

    這篇文章主要介紹了JavaScript導航腳本判斷當前導航的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • JS選取DOM元素的簡單方法

    JS選取DOM元素的簡單方法

    下面小編就為大家?guī)硪黄狫S選取DOM元素的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 微信小程序?qū)崿F(xiàn)圖片壓縮功能

    微信小程序?qū)崿F(xiàn)圖片壓縮功能

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)圖片壓縮功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

城口县| 河间市| 屏边| 密云县| 美姑县| 亳州市| 彰化市| 齐河县| 枝江市| 梧州市| 中宁县| 富裕县| 七台河市| 成武县| 安多县| 二连浩特市| 大邑县| 五峰| 徐州市| 广水市| 达拉特旗| 车险| 彭山县| 江达县| 大冶市| 夏邑县| 彩票| 镇远县| 五大连池市| 永清县| 宾川县| 呼图壁县| 阿城市| 襄汾县| 沅陵县| 黔西| 茌平县| 科技| 无棣县| 永和县| 德兴市|