解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题

最近开发一个基于mui框架的一个微信小程序,发现在使用mui框架中的switch开关的时候,想要达到联动的功能,让一个主开关控制几个子开关,发现虽然开关的颜色变了,但是开关上的小圆点不动,对于刚入mui框架的新手,觉得一脸的懵逼,经过多方查找,然后自己动手,解决了这个问题,就想在此分享一下。

页面上

<div class="mui-switch mui-active">
 <div class="mui-switch-handle"></div>
</div>

mui-active表示开关为打开状态,移除属性mui-active开关就是关闭状态,很显然大家都会想到利用js控制给相应的switch添加或者移除属性mui-active就可以达到动态控制开关状态,理论上是可以的,但会经常出现如下图的情况

这种情况出现的解决方法就是将 class属性为mui-switch-handle 的div的style进行清空就可以了

代码为:

<div class="mui-switch mui-active">
 <div class="mui-switch-handle"></div>
</div>

jQuery代码:

$(".mui-switch-handle").attr("style","");

$(".
mui-switch").removeClass("mui-active");

产生这个问题的原因我没有具体研究,大概是mui框架在switch进行toggle的时候在 class=mui-switch-handle的div中加入的了圆点移动的样式,所以下次要更改开关的样式的时候需要把先前的样式清空掉。

好了,忘采纳!

以上这篇解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mui js控制开关状态、修改switch开关的值方法

    修改开关的值 .mui-switch:before{ font-size: 13px; position: absolute; top: 3px; right: 11px; content: attr(data-off); text-transform: uppercase; color: #999; } .mui-switch.mui-active:before{ right: auto; left: 15px; content: attr(data-on); color: #fff; } <

  • 解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题

    最近开发一个基于mui框架的一个微信小程序,发现在使用mui框架中的switch开关的时候,想要达到联动的功能,让一个主开关控制几个子开关,发现虽然开关的颜色变了,但是开关上的小圆点不动,对于刚入mui框架的新手,觉得一脸的懵逼,经过多方查找,然后自己动手,解决了这个问题,就想在此分享一下. 页面上 <div class="mui-switch mui-active"> <div class="mui-switch-handle"></

  • 浅谈MUI框架中加载外部网页或服务器数据的方法

    我们很多同学在实施使用MUI框架的时候,在打开新的页面的时候常使用的方式是:mui.openwindow的方法,然而遇到网页需要从服务器或者是要嵌套外部的网页的时候,由于网速的问题会遇到加载时出现白屏,等待时间过长,导致用户体验不好. 页面加载的时候使用plus.webview.create方法就很好的解决了这个问题. 废话不多说直接贴代码 首先我们需要在创建一个父页面,以下是父页面的JS // H5 plus事件处理 function plusReady(){ var nwaiting = p

  • 完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题

    mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格局,所以才无法滚动.那么如何解决这个问题呢? 解决方法: 一.在内容容器加上id,然后通过JS控制 <div class="mui-content mui-scroll-wrapper" id="scr1"> JS部分 <script> mui('#scr1').scroll(); </script> 二.利用创建子页面的方

  • 解决java 分割字符串成数组时,小圆点不能直接进行分割的问题

    问题描述: String preStr = "a.b.c"; // 这里要把该字符串按小圆点进行分割,成"a","b","c" String[] string = preStr.split("."); // 直接这样写是不行的 正确的写法是,对小圆点进行转义 String[] string = preStr.split("\\."); 补充知识:Java中不使用split方法实现字符串分

  • 浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总

    先来看一个简单的例子:下面以三个页面分别命名为frame.html.top.html.bottom.html为例来具体说明如何做.frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下: 复制代码 代码如下: <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >< HTML >< HEAD >< TITLE > frame

  • 利用Python的装饰器解决Bottle框架中用户验证问题

    首先来分析下需求,web程序后台需要认证,后台页面包含多个页面,最普通的方法就是为每个url添加认证,但是这样就需要每个每个绑定url的后台函数都需要添加类似或者相同的代码,但是这样做代码就过度冗余,而且不利于扩展. 接下来我们先不谈及装饰器,我们都知道Python是个很强大的语言,她可以将函数当做参数传递给函数,最简单的: def p(): print 'Hello,world' def funcfactor(func): print 'calling function named', fun

  • LayUi使用switch开关,动态的去控制它是否被启用的方法

    layui中的switch开关,能够去显示当前的状态,是否是启用还是禁用.当时如果当前记录的某个值没有进行填写,这行记录就不能被启用.并且页面上也要让他不能进行操作. 直接上代码: // 页面状态栏事件监听 form.on('switch', function (data) { var swithcData = data; var id = data.value;// 获取要修改的ID var state = this.checked ? '0' : '2';// 当前状态值 $.ajax({

  • 解决Vue2.0中使用less给元素添加背景图片出现的问题

    在使用less在Vue.js中给元素添加背景图片时 或者你会出现这样的写法 background-image: url('../img/' + @{bg_url} + '2x.png'); 或者这样 background-image: url('../img/' + @bg_url + '2x.png'); 这样 background-image: url(../img/@{bg_url}2x.png); 还有这样 background-image: url(../img/@bg_url2x.p

  • 解决在Vue中使用axios用form表单出现的问题

    vue中使用Axios第三方库,采用形式提交,参数格式为multipart /格式数据 ,请求参数变为对象格式的解决办法.(推荐第二种方法) 提交数据的四种编码方式 一,应用/ X WWW的窗体-urlencoded 这应该是最常见的后编码方式,一般的表单提交默认以此方式提交.大部分服务器语言对这种方式都有很好的支持.在PHP中,可以用$ _ POST ["钥匙"]的方式获取到关键的值,在节点中我们可以使用查询字符串中间件对参数进行分离 app.post("/server&q

  • iview table render集成switch开关的实例

    今天想要分享的是iview table render集成switch开关修改table表格的值,看文档记得看2.0的,不注意打开就成1.0然后用上了一直没有效果又没有找出原因.给出的只是一种写法思路,具体自己集成. 一.效果如下 即是打开处理switch开关,对应修改为已处理状态,关闭switch开关,修改为未处理状态. 二.template html写法 <span style="font-size:14px;"><Table highlight-row borde

随机推荐