javascript顯示隱藏層比較不錯(cuò)的方法分析
但是當(dāng)初寫(xiě)html的時(shí)候并沒(méi)有考慮到腳本編寫(xiě)(需求是后加的),所以,答案和標(biāo)題沒(méi)有父子關(guān)系可以對(duì)應(yīng)。 html代碼如下。
所以,這里需要用到另一種方法來(lái)匹配答案和標(biāo)題。我們可以通過(guò)捕捉元素的位置來(lái)匹配它們。也就是說(shuō)第一條標(biāo)題,對(duì)應(yīng)的肯定是整個(gè)序列中的第一條答案,第二條標(biāo)題對(duì)應(yīng)的肯定是第二條答案。 這樣就可以無(wú)視html結(jié)構(gòu)來(lái)控制它們的對(duì)應(yīng)關(guān)系了。
<ul class="qusetionList">
<li class="liHeader"><span class="colABC-A">編號(hào)</span><span class="colABC-B">標(biāo)題</span><span class="colABC-C">編輯者/發(fā)問(wèn)者</span></li>
<li class="liBody"><span class="colABC-A">1</span><span class="colABC-B">想要開(kāi)小店需要付費(fèi)嗎?</span><span class="colABC-C"><a href="#" title="" class="openLink"></a> 客服</span></li>
<li class="answer"><span class="colABC-B">
現(xiàn)階段於策視其所以不收取任何費(fèi)用,請(qǐng)使用者不用擔(dān)心。<BR>
除了加值服務(wù)的功能模組之外。</span><span class="colABC-C"><a href="#" title="" class="closeLink"></a> 客服</span></li>
<li class="liBody"><span class="colABC-A">2</span><span class="colABC-B">想要開(kāi)小店需要付費(fèi)嗎?</span><span class="colABC-C"><a href="#" title="" class="openLink"></a> 客服</span></li>
<li class="answer"><span class="colABC-B">
現(xiàn)階段於策視其所以不收取任何費(fèi)用,請(qǐng)使用者不用擔(dān)心。<BR>
除了加值服務(wù)的功能模組之外。</span><span class="colABC-C"><a href="#" title="" class="closeLink"></a> 客服</span></li>
</ul>
腳本解釋:當(dāng)點(diǎn)擊openLink這個(gè)圖標(biāo)時(shí),顯示和openLink在序列中位置相同的answer。這里需要將onclick事件放在閉包里面,等到for循環(huán)結(jié)束后才被激活。如果沒(méi)有這層閉包,那不管點(diǎn)擊哪個(gè)openLink,顯示的都將是openLink.length的值。
document.getElementsByClassName = function(eleClassName)
{
var getEleClass = [];//定義一個(gè)數(shù)組
var myclass = new RegExp("\\b"+eleClassName+"\\b");//創(chuàng)建一個(gè)正則表達(dá)式對(duì)像
var elem = this.getElementsByTagName("*");//獲取文檔里所有的元素
for(var h=0;h<elem.length;h++)
{
var classes = elem[h].className;//獲取class對(duì)像
if (myclass.test(classes)) getEleClass.push(elem[h]);//正則比較,取到想要的CLASS對(duì)像
}
return getEleClass;//返回?cái)?shù)組
}
//上面這是捕捉class的方法,我一直用它,復(fù)制過(guò)來(lái)就OK。
var answer = document.getElementsByClassName("answer");
var openLink = document.getElementsByClassName("openLink");
var closeLink = document.getElementsByClassName("closeLink");
for (i = 0; i< openLink.length ; i++ )
{
(
function(i){
openLink[i].onclick = function (){
var j = i;
answer[j].style.display = "block"
}
closeLink[i].onclick = function (){
var j = i;
answer[j].style.display = "none"
}
}
)(i);
}
- Javascript顯示和隱藏ul列表的方法
- Javascript與jQuery方法的隱藏與顯示
- javascript實(shí)現(xiàn)信息的顯示和隱藏如注冊(cè)頁(yè)面
- javascript實(shí)現(xiàn)div的顯示和隱藏的小例子
- JavaScript欄目列表隱藏/顯示簡(jiǎn)單實(shí)現(xiàn)
- javascript 隱藏/顯示指定的區(qū)域附HTML元素【legend】用法
- javascript 控制 html元素 顯示/隱藏實(shí)現(xiàn)代碼
- javascript 層隱藏和顯示的代碼
- JAVASCRIPT 點(diǎn)擊顯示 隱藏層
- javascript控制層顯示或隱藏的方法
相關(guān)文章
JavaScript Serializer序列化時(shí)間處理示例
JavaScriptSerializer序列化時(shí)間后會(huì)把時(shí)間序列化成N進(jìn)制的鬼數(shù)據(jù) ,下面有個(gè)示例,需要的朋友可以了解下2014-07-07javascript 使td內(nèi)容不換行不撐開(kāi)
javascript 使td內(nèi)容不換行不撐開(kāi)如何實(shí)現(xiàn),本文將詳細(xì)介紹,需要了解的朋友可以參考下2012-11-11Json實(shí)現(xiàn)傳值到后臺(tái)代碼實(shí)例
這篇文章主要介紹了Json實(shí)現(xiàn)傳值到后臺(tái)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06JavaScript中Number對(duì)象的toFixed() 方法詳解
下面小編就為大家?guī)?lái)一篇JavaScript中Number對(duì)象的toFixed() 方法詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09js數(shù)組刪除問(wèn)題(splice和delete的用法)
這篇文章主要介紹了js數(shù)組刪除問(wèn)題(splice和delete的用法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Javascript實(shí)現(xiàn)hashcode函數(shù)實(shí)現(xiàn)對(duì)象比較與原理說(shuō)明
在JavaScript中,數(shù)值的比較是比較簡(jiǎn)單的,使用相等(==)和全等(===)符號(hào)基本上可以解決大多數(shù)非對(duì)象的比較。但是相等(==)和全等(===)符號(hào)在對(duì)象 object 的比較上,就不能滿足所有的要求了2023-06-06Bootstrap Scrollspy源碼學(xué)習(xí)
這篇文章主要介紹了Bootstrap Scrollspy源碼學(xué)習(xí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03用ajax實(shí)現(xiàn)的自動(dòng)投票的代碼
用ajax實(shí)現(xiàn)的自動(dòng)投票的代碼...2007-03-03