国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript顯示隱藏層的方法

2024-05-06 15:45:53
字體:
供稿:網(wǎng)友

我們在JS開發(fā)過程中,需要判斷一些數(shù)據(jù)的功能是否實(shí)現(xiàn),本文是錯新技術(shù)頻道小編為大家?guī)淼膉avascript顯示隱藏層的方法,相信你們總能找到合適自己的方法。

這是一個Q&A的頁面,設(shè)計(jì)師希望能夠點(diǎn)擊相關(guān)的問題后,在它下方顯示對應(yīng)的答案。這是一個比較常見功能,通常的解決辦法是把“答案”當(dāng)作整個問題容器的子元素,然后點(diǎn)擊父元素上的按鈕后展開對應(yīng)的子元素。通過父子元素的對應(yīng)關(guān)系來匹配標(biāo)題和答案。

但是當(dāng)初寫html的時候并沒有考慮到腳本編寫(需求是后加的),所以,答案和標(biāo)題沒有父子關(guān)系可以對應(yīng)。 html代碼如下。

所以,這里需要用到另一種方法來匹配答案和標(biāo)題。我們可以通過捕捉元素的位置來匹配它們。也就是說第一條標(biāo)題,對應(yīng)的肯定是整個序列中的第一條答案,第二條標(biāo)題對應(yīng)的肯定是第二條答案。 這樣就可以無視html結(jié)構(gòu)來控制它們的對應(yīng)關(guān)系了。
?

?

<ul class="qusetionList">
<li class="liHeader"><span class="colABC-A">編號</span><span class="colABC-B">標(biāo)題</span><span class="colABC-C">編輯者/發(fā)問者</span></li>

<li class="liBody"><span class="colABC-A">1</span><span class="colABC-B">想要開小店需要付費(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)用,請使用者不用擔(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">想要開小店需要付費(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)用,請使用者不用擔(dān)心。<BR>
除了加值服務(wù)的功能模組之外。</span><span class="colABC-C"><a href="#" title="" class="closeLink"></a> 客服</span></li>
</ul>

?


腳本解釋:當(dāng)點(diǎn)擊openLink這個圖標(biāo)時,顯示和openLink在序列中位置相同的answer。這里需要將onclick事件放在閉包里面,等到for循環(huán)結(jié)束后才被激活。如果沒有這層閉包,那不管點(diǎn)擊哪個openLink,顯示的都將是openLink.length的值。

?

?

?

?

?

?


document.getElementsByClassName = function(eleClassName)
{
var getEleClass = [];//定義一個數(shù)組
var myclass = new RegExp("http://b"+eleClassName+"http://b");//創(chuàng)建一個正則表達(dá)式對像
var elem = this.getElementsByTagName("*");//獲取文檔里所有的元素
for(var h=0;h<elem.length;h++)
{
var classes = elem[h].className;//獲取class對像
if (myclass.test(classes)) getEleClass.push(elem[h]);//正則比較,取到想要的CLASS對像
}
return getEleClass;//返回?cái)?shù)組
}
//上面這是捕捉class的方法,我一直用它,復(fù)制過來就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);
}

本文是錯新技術(shù)頻道小編介紹的javascript顯示隱藏層的方法,閱讀完后相信已經(jīng)有所了解,為解答廣大網(wǎng)友的更多疑問,我們整理了最專業(yè)的javascript資訊。?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 德令哈市| 大方县| 盘山县| 汪清县| 兰考县| 武陟县| 封丘县| 晋城| 黔西县| 皮山县| 黑河市| 齐河县| 黄大仙区| 黄龙县| 体育| 陇南市| 邻水| 临清市| 台东市| 平昌县| 大田县| 三都| 桂林市| 嫩江县| 松滋市| 大城县| 南部县| 高唐县| 石门县| 聂荣县| 青海省| 巴南区| 屏东县| 泊头市| 新民市| 清水县| 芜湖市| 平山县| 新化县| 阳山县| 贞丰县|