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按钮。



相关文章
|
7天前
|
JavaScript 前端开发
伪元素清除法会影响页面性能吗?
【10月更文挑战第27天】伪元素清除法在正常使用情况下对页面性能的影响不大,是一种较为高效和常用的清除浮动的方法。但在实际应用中,仍需要结合页面的具体情况和其他相关技术的使用来综合考虑性能优化问题,以确保页面能够达到最佳的性能表现。
|
2月前
|
存储 前端开发 JavaScript
深度理解Promise状态变化_配合小Demo
本文通过代码示例深入探讨了JavaScript中Promise对象的三种状态(pending、rejected、resolved)及其变化过程,解释了在什么情况下Promise会从pending状态变为resolved或rejected状态,并演示了如何通过Promise的状态管理异步操作。
24 0
深度理解Promise状态变化_配合小Demo
|
3月前
|
JavaScript 前端开发
深入理解Node.js事件循环及其对后端性能的影响
【8月更文挑战第31天】 本文将带你一探Node.js的核心概念—事件循环,揭示其工作原理及如何影响后端应用的性能。我们将从基础的事件驱动模型出发,通过代码示例和性能分析,展示如何有效利用事件循环来提升应用响应速度和处理能力。
|
6月前
|
JavaScript
JS动态转盘可自由设置个数与概率
JS动态转盘可自由设置个数与概率
|
JavaScript API
【Vue2.0源码学习】变化侦测篇-Array的变化侦测
【Vue2.0源码学习】变化侦测篇-Array的变化侦测
47 0
漏刻有时基础环境状态4个指标选项的更改说明
漏刻有时基础环境状态4个指标选项的更改说明
50 0
|
弹性计算 监控 大数据
集群状态显示,进程存在,但是组件状态显示未知
集群状态显示,进程存在,但是组件状态显示未知
xprop仿真选项对RTL X态传播的影响
xprop仿真选项对RTL X态传播的影响
401 0
|
前端开发
你不知道的Promise状态变化机制
你不知道的Promise状态变化机制
你不知道的Promise状态变化机制