jq實(shí)現(xiàn)多開(kāi)關(guān)效果互不影響
有時(shí)候我們會(huì)用jq寫(xiě)一些特效,jq在控制DOM方面是非常方便的,雖然jq在最近幾年沒(méi)什么進(jìn)展。
下面就是一個(gè)實(shí)例圖:實(shí)例
我們可以用jq這樣實(shí)現(xiàn):
//html
<div id="dd0" alt="0" οnclick="changeok('0')">
<img src="images/j.png" alt="" class="j1" />
<img src="images/d.png" alt="" class="true1" />
</div>
//js
function changeok(a){
var yuans=$('#dd'+a);
var isok=yuans.attr('alt');
if(isok==0){
yuans.attr('alt','1').children(".j1").hide();
yuans.children(".true1").show()
}else{
yuans.attr('alt','0').children(".true1").hide();
yuans.children(".j1").show();
}
}
這里是利用了給每個(gè)元素加一個(gè)id,這樣他們就是獨(dú)立的一個(gè)個(gè)體。然后就是利用默認(rèn)屬性alt等于零。讓它默認(rèn)顯示沒(méi)被選中。
如果寫(xiě)一個(gè)如上的自定義radio按鈕怎么辦?
也可以用這樣的方法:
<ul class="user ovf">
<li>
<img src="images/m.png" alt="">
<div id="dd0" alt="0" οnclick="changeok('0')" class="slii">
<img src="images/k.png" alt="" class="k">
<img src="images/t.png" alt="" class="t">
<p>男寶寶</p>
</div>
</li>
<li>
<img src="images/g.png" alt="">
<div id="dd1" alt="0" οnclick="changeok('1')" class="slii">
<img src="images/k.png" alt="" class="k">
<img src="images/t.png" alt="" class="t">
<p>女寶寶</p>
</div>
</li>
</ul>
function changeok(a){
var yuans=$('#dd'+a);
var isok=yuans.attr('alt');
yuans.parent().siblings().children(".slii").attr('alt','0');
if(isok==0){
yuans.attr('alt','1').children(".k").hide();
yuans.parent().siblings().children(".slii").children(".t").hide();
yuans.parent().siblings().children(".slii").children(".k").show();
yuans.children(".t").show()
}else{
yuans.attr('alt','0').children(".t").hide();
yuans.parent().siblings().children(".slii").children(".k").hide();
yuans.parent().siblings().children(".slii").children(".t").show();
yuans.children(".k").show();
}
}
加上幾行代碼就改成點(diǎn)擊一個(gè),另一個(gè)會(huì)消除這種樣式。類(lèi)似radio按鈕。
作者:Vam的金豆之路
主要領(lǐng)域:前端開(kāi)發(fā)
我的微信:maomin9761
微信公眾號(hào):前端歷劫之路