JS實(shí)現(xiàn)的適合做faq或menu滑動(dòng)效果示例
本文實(shí)例講述了JS實(shí)現(xiàn)的適合做faq或menu滑動(dòng)效果。分享給大家供大家參考,具體如下:
<!CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> <!-- body,div,ul,li,p,h1,h2{ margin:0; padding:0; border:0; background:#FAFAFA; font-family:Arial, Helvetica, sans-serif,"宋體"} body{ text-align:center; font-size:12px} li{ list-style:none} .rolinList{ width:402px; height:auto; margin:20px auto 0 auto; text-align:left} .rolinList li{margin-bottom:1px;border:1px solid #DADADA} .rolinList li h2{ width:380px; height:40px; background:#fff; font-size:14px; line-height:40px; padding-left:20px; color:#333; cursor:pointer} .content{ height:150px;width:400px; background:#fff; background:#FAFAFA} .content p{ margin:12px} --> </style> <script type="text/javascript"> //<![CDATA[ window.onload = function() { rolinTab("rolin") } function rolinTab(obj) { var list = $(obj).getElementsByTagName("LI"); var state = {show:false,hidden:false,showObj:false}; for (var i=0; i<list.length; i++) { var tmp = new rolinItem(list[i],state); if (i == 0) tmp.pShow(); } } function rolinItem(obj,state) { var speed = 0.0666; var range = 1; var interval; var tarH; var tar = this; var head = getFirstChild(obj); var content = getNextChild(head); var isOpen = false; this.pHidden = function() { if (isOpen) hidden(); } this.pShow = show; var baseH = content.offsetHeight; content.style.display = "none"; var isOpen = false; head.onmouseover = function() { this.style.background = "#EFEFEF"; } head.onmouseout = mouseout; head.onclick = function() { this.style.background = "#EFEFEF"; if (!state.show && !state.hidden) { if (!isOpen) { head.onmouseout = null; show(); } else { hidden(); } } } function mouseout() { this.style.background = "#FFF" } function show() { head.style.borderBottom = "1px solid #DADADA"; state.show = true; if (state.openObj && state.openObj != tar ) { state.openObj.pHidden(); } content.style.height = "0px"; content.style.display = "block"; content.style.overflow = "hidden"; state.openObj = tar; tarH = baseH; interval = setInterval(move,10); } function showS() { isOpen = true; state.show = false; } function hidden() { state.hidden = true; tarH = 0; interval = setInterval(move,10); } function hiddenS() { head.style.borderBottom = "none"; head.onmouseout = mouseout; head.onmouseout(); content.style.display = "none"; isOpen = false; state.hidden = false; } function move() { var dist = (tarH - content.style.height.pxToNum())*speed; if (Math.abs(dist) < 1) dist = dist > 0 ? 1: -1; content.style.height = (content.style.height.pxToNum() + dist) + "px"; if (Math.abs(content.style.height.pxToNum() - tarH) <= range ) { clearInterval(interval); content.style.height = tarH + "px"; if (tarH != 0) { showS() } else { hiddenS(); } } } } var $ = function($) {return document.getElementById($)}; String.prototype.pxToNum = function() {return Number(this.replace("px",""))} function getFirstChild(obj) { var result = obj.firstChild; while (!result.tagName) { result = result.nextSibling; } return result; } function getNextChild(obj) { var result = obj.nextSibling; while (!result.tagName) { result = result.nextSibling; } return result; } //]]> </script> <ul id="rolin"> <li> <h2>腳本之家 1</h2> <div <p>腳本之家--專業(yè)IT綜合性網(wǎng)站<br /><br /><a target="_blank" href="http://chabaoo.cn/">http://chabaoo.cn/</a></p> </div> </li> <li> <h2>腳本之家 2</h2> <div <p>腳本之家--專業(yè)IT綜合性網(wǎng)站<br /><br /><a target="_blank" href="http://chabaoo.cn/">http://chabaoo.cn/</a></p> </div> </li> <li> <h2>腳本之家 3</h2> <div <p>腳本之家--專業(yè)IT綜合性網(wǎng)站<br /><br /><a target="_blank" href="http://chabaoo.cn/">http://chabaoo.cn/</a></p> </div> </li> <li> <h2>腳本之家 4</h2> <div <p>腳本之家--專業(yè)IT綜合性網(wǎng)站<br /><br /><a target="_blank" href="http://chabaoo.cn/">http://chabaoo.cn/</a></p> </div> </li> <li> <h2>腳本之家 5</h2> <div <p>腳本之家--專業(yè)IT綜合性網(wǎng)站<br /><br /><a target="_blank" href="http://chabaoo.cn/">http://chabaoo.cn/</a></p> </div> </li> <li> <h2>腳本之家 6</h2> <div <p>腳本之家--專業(yè)IT綜合性網(wǎng)站<br /><br /><a target="_blank" href="http://chabaoo.cn/">http://chabaoo.cn/</a></p> </div> </li> </ul>
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 基于javascript實(shí)現(xiàn)圖片滑動(dòng)效果
- javascript圖片滑動(dòng)效果實(shí)現(xiàn)
- js實(shí)現(xiàn)分享到隨頁(yè)面滾動(dòng)而滑動(dòng)效果的方法
- 用原生js做個(gè)簡(jiǎn)單的滑動(dòng)效果的回到頂部
- 使用原生js封裝webapp滑動(dòng)效果(慣性滑動(dòng)、滑動(dòng)回彈)
- js通過(guò)更改按鈕的顯示樣式實(shí)現(xiàn)按鈕的滑動(dòng)效果
- js實(shí)現(xiàn)支持手機(jī)滑動(dòng)切換的輪播圖片效果實(shí)例
- javascript 仿QQ滑動(dòng)菜單效果代碼
- JS+CSS實(shí)現(xiàn)滑動(dòng)切換tab菜單效果
相關(guān)文章
Ajax高級(jí)筆記 JavaScript高級(jí)程序設(shè)計(jì)筆記
這篇文章主要介紹了Ajax高級(jí)筆記 JavaScript高級(jí)程序設(shè)計(jì)筆記,需要的朋友可以參考下2017-06-06PHPMyAdmin導(dǎo)入時(shí)提示文件大小超出PHP限制的解決方法
這篇文章主要介紹了PHPMyAdmin導(dǎo)入時(shí)提示文件大小超出PHP限制的解決方法,造成這個(gè)問(wèn)題的原因是PHP上傳大小限制為2MB,修改PHP.ini配置即可解決這問(wèn)題,需要的朋友可以參考下2015-03-03js實(shí)現(xiàn)購(gòu)物網(wǎng)站商品放大鏡效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)購(gòu)物網(wǎng)站商品放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10也說(shuō)JavaScript中String類的replace函數(shù)
最近讀了sharpxiajun的博文《javascript筆記--String類replace函數(shù)的一些事》,感覺寫的很好,很有幫助。2011-09-09javascript實(shí)現(xiàn)博客園頁(yè)面右下角返回頂部按鈕
這篇文章主要介紹了使用javascript實(shí)現(xiàn)博客園頁(yè)面右下角返回頂部按鈕的思路及源碼,非常不錯(cuò),這里推薦給小伙伴們2015-02-02利用Javascript判斷操作系統(tǒng)的類型實(shí)現(xiàn)不同操作系統(tǒng)下的兼容性
在通過(guò)Javascript實(shí)現(xiàn)客戶端和服務(wù)端的交互時(shí),有時(shí)候需要對(duì)操作系統(tǒng)進(jìn)行判斷,以便實(shí)現(xiàn)不同操作系統(tǒng)下的兼容性;從而實(shí)現(xiàn)網(wǎng)站在跨平臺(tái)瀏覽時(shí)候保持良好的用戶體驗(yàn),感興趣的朋友可以了解下啊,或許對(duì)你有所幫助2013-01-01js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)非select下拉框版
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)非select下拉框版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09javascript轉(zhuǎn)換字符串為dom對(duì)象(字符串動(dòng)態(tài)創(chuàng)建dom)
那么今天的目的就是教大家怎么去實(shí)現(xiàn)一個(gè)這樣的方法用來(lái)把字符串直接轉(zhuǎn)換為標(biāo)準(zhǔn)的dom對(duì)象2010-05-05網(wǎng)上應(yīng)用的一個(gè)不錯(cuò)common.js腳本
網(wǎng)上應(yīng)用的一個(gè)不錯(cuò)common.js腳本...2007-08-08