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



相关文章
|
5月前
|
负载均衡 应用服务中间件 测试技术
极简的流量复制和放大方式
极简的流量复制和放大方式
|
5月前
|
Web App开发 JavaScript 前端开发
浏览器与Node.js事件循环:异同点及工作原理
浏览器与Node.js事件循环:异同点及工作原理
|
2月前
|
JavaScript 前端开发
深入理解Node.js事件循环及其对后端性能的影响
【8月更文挑战第31天】 本文将带你一探Node.js的核心概念—事件循环,揭示其工作原理及如何影响后端应用的性能。我们将从基础的事件驱动模型出发,通过代码示例和性能分析,展示如何有效利用事件循环来提升应用响应速度和处理能力。
|
4月前
|
运维 Serverless 数据处理
函数计算产品使用问题之应用每次重新部署,里面的函数之前配好的“运行时”和“层”都会恢复初始状态,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
设计模式 JavaScript 前端开发
如何优雅的消除系统重复代码
在程序猿的日常工作中,不仅要跟随业务侧的发展不断开发新的需求,同时也需要维护老的已有平台。无论是开发新需求还是维护老系统,我们都会遇到同样一个问题,系统中总是充斥着很多重复的代码。
29544 11
如何优雅的消除系统重复代码
xprop仿真选项对RTL X态传播的影响
xprop仿真选项对RTL X态传播的影响
365 0
终端加负载的无损耗传输线重要参数的推导
终端加负载的无损耗传输线重要参数的推导
122 0
终端加负载的无损耗传输线重要参数的推导
|
小程序
微信小程序多列表渲染数据开关互不影响
微信小程序多列表渲染数据开关互不影响
|
数据可视化 数据挖掘
差异分析③
统计差异基因数目 tfit
1115 0