jq实现多开关效果互不影响

简介: 有时候我们会用jq写一些特效,jq在控制DOM方面是非常方便的,虽然jq在最近几年没什么进展。

有时候我们会用jq写一些特效,jq在控制DOM方面是非常方便的,虽然jq在最近几年没什么进展。


下面就是一个实例图:


微信截图_20220430120516.png


我们可以用jq这样实现:


//html
 <div id="dd0" alt="0" onclick="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();
        }
    }


这里是利用了给每个元素加一个id,这样他们就是独立的一个个体。然后就是利用默认属性alt等于零。让它默认显示没被选中。


微信截图_20220430120620.png


如果写一个如上的自定义radio按钮怎么办?


也可以用这样的方法:


<ul class="user ovf">
            <li>
                <img src="images/m.png" alt="">
                <div id="dd0" alt="0" onclick="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" onclick="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();
}
}


加上几行代码就改成点击一个,另一个会消除这种样式。类似radio按钮。



相关文章
人工智能 缓存 前端开发
12395 68
人工智能 自然语言处理 安全
1280 0
Web App开发 人工智能 API
1522 1
人工智能 JavaScript 开发工具
4896 0
人工智能 Java BI
1613 1
人工智能 JavaScript 测试技术
2544 2
开发工具 Swift git
1997 6
人工智能 JavaScript 测试技术
1231 4