JS實現(xiàn)slide文字框縮放伸展效果代碼
本文實例講述了JS實現(xiàn)slide文字框縮放伸展效果代碼。分享給大家供大家參考,具體如下:
這里介紹的slide文字框縮放伸展效果,自己閑來無事寫的,不是太好,可能在兼容性方面還需努力,展開速度方面,IE8和火狐的展開速度不一樣,火狐下更快一些,至今沒找到原因,也請JS高人指點江山。
運行效果截圖如下:
在線演示地址如下:
http://demo.jb51.net/js/2015/js-slide-txt-dlg-show-codes/
具體代碼如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="content" content="text/html charset=gb2312"> <title>slide文字框縮放伸展效果</title> <style type="text/css"> *{margin:0; padding:0;} ul{list-style:none;} .box{width:300px; margin:10px; border:1px solid #ccc; overflow:hidden; position:relative; font-size:12px;} .oHx{height:30px; background:#eee; line-height:30px; font-size:14px; text-indent:14px; cursor:pointer;} .fold{position:absolute; top:9px; right:12px;} .box_content{line-height:18px; overflow:hidden; display:none;} </style> <script type="text/javascript"> function getElementsByClassName(className,id,tag){ tag = tag || "*"; if(id){ var id = typeof id == "string" ? $(id) : id; }else{ var id = document.body; } var els = id.getElementsByTagName(tag),arr = []; for(var i=0,n=els.length;i<n;i++){ for(var j=0,k=els[i].className.split(" "),l=k.length;j<l;j++){ if(k[j]==className){ arr.push(els[i]); break; } } } return arr; }; function Slide(slideClass,slideBtn,slideCon,slideSpeed) { this.oSlides = getElementsByClassName(slideClass); this.oTimer = null; this.slideBtn = slideBtn; this.slideCon = slideCon; this.slideSpeed = slideSpeed; } Slide.prototype = { oTimer:null, _init:function (){ this._slideEvent(); }, _slideEvent:function (){ var This = this; for(var i = 0,n=This.oSlides.length;i<n;i++){ (function(n){ var oSlide = This.oSlides[n]; var oSlideBtn = getElementsByClassName(This.slideBtn,oSlide)[0]; var oSlideCon = getElementsByClassName(This.slideCon,oSlide)[0]; oSlideBtn.onclick = function (){ if(oSlideCon.style.display == "block" && This.oTimer == null){ This._slideClose(oSlideCon); }else if(!(oSlideCon.style.display == "block" ) && This.oTimer == null){ This._slideOpen(oSlideCon); } } })(i) } }, _slideOpen:function (slideCon){ var This = this; slideCon.style.display = "block"; slideCon.style.height = "auto"; var slideHeight = slideCon.offsetHeight; slideCon.style.height = 0 + "px"; This.oTimer = setInterval(function (){ if(slideCon.offsetHeight < slideHeight){ slideCon.style.height = slideCon.offsetHeight + 2 + "px"; }else{ clearInterval(This.oTimer); This.oTimer = null; } },This.slideSpeed); }, _slideClose:function (slideCon){ var This = this; This.oTimer = setInterval(function (){ if(slideCon.offsetHeight <= 0){ clearInterval(This.oTimer); slideCon.style.display = "none"; This.oTimer = null; }else{ slideCon.style.height =slideCon.offsetHeight - 2 + "px"; } },This.slideSpeed); } } </script> </head> <body> <div class="box"> <div class="oHx slide">收縮2</div> <div class="box_content"> <ul class="uft" style="padding:10px;"> <li><a href="#" target="_blank">scscms V1.0 陽光企業(yè)網(wǎng)站系統(tǒng)</a></li> <li><a href="#" target="_blank">24點,VC++游戲源碼</a></li> <li><a href="#" target="_blank">可記錄圖像的C#數(shù)據(jù)庫記錄單程序</a></li> <li><a href="#" target="_blank">jQuery 1.4 參考指南的實例源代碼</a></li> </ul> </div> </div> <div class="box"> <div class="oHx slide">收縮3</div> <div class="box_content"> <ul class="uft"style="padding:10px;"> <li><a href="#" target="_blank">scscms V1.0 陽光企業(yè)網(wǎng)站系統(tǒng)</a></li> <li><a href="#" target="_blank">24點,VC++游戲源碼</a></li> <li><a href="#" target="_blank">可記錄圖像的C#數(shù)據(jù)庫記錄單程序</a></li> <li><a href="#" target="_blank">jQuery 1.4 參考指南的實例源代碼</a></li> </ul> </div> </div> <script type="text/javascript"> var mySlide = new Slide("box","slide","box_content",10); mySlide._slideEvent(); </script> </body> </html>
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JS實現(xiàn)IE狀態(tài)欄文字縮放效果代碼
- js實現(xiàn)固定顯示區(qū)域內(nèi)自動縮放圖片的方法
- JS實現(xiàn)可縮放、拖動、關(guān)閉和最小化的浮動窗口完整實例
- js實現(xiàn)鼠標(biāo)滾輪控制圖片縮放效果的方法
- JS網(wǎng)頁圖片按比例自適應(yīng)縮放實現(xiàn)方法
- js實現(xiàn)橫向伸展開的二級導(dǎo)航菜單代碼
- JS實現(xiàn)可展開折疊層的鼠標(biāo)拖曳效果
- JS+CSS實現(xiàn)的簡單折疊展開多級菜單效果
- JS實現(xiàn)鼠標(biāo)滑過折疊與展開菜單效果代碼
- js實現(xiàn)點擊向下展開的下拉菜單效果代碼
相關(guān)文章
快速查找數(shù)組中的某個元素并返回下標(biāo)示例
最近在寫jquery的combobox插件時遇到效率問題,再加上jquery選擇器的類帥選,導(dǎo)致效率很慢,采用以下方式二,可以輕松解決此問題2013-09-09JavaScript實現(xiàn)Java中Map容器的方法
這篇文章主要介紹了JavaScript實現(xiàn)Java中Map容器的方法,結(jié)合實例形式分析了JavaScript實現(xiàn)Java中Map容器的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-10-10layui實現(xiàn)數(shù)據(jù)表格隱藏列的示例
今天小編就為大家分享一篇layui實現(xiàn)數(shù)據(jù)表格隱藏列的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10javascript使用shift+click實現(xiàn)選擇和反選checkbox的方法
這篇文章主要介紹了javascript使用shift+click實現(xiàn)選擇和反選checkbox的方法,涉及javascript針對鍵盤按鍵的判斷及checkbox的操作技巧,需要的朋友可以參考下2015-05-05帶大家了解一下JavaScript常見的五個內(nèi)存錯誤
這篇文章主要為大家介紹了JavaScript常見的五個內(nèi)存錯誤,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01向當(dāng)前style sheet中插入一個新的style實現(xiàn)方法
今天為了臨時解決頁面樣式問題,為了方便,直接在這個公共的js里面向style sheet插入新的style rule,感興趣的朋友可以出納卡下哈2013-04-04