请问switch开关,怎样通过代码去控制。???
- 发布:2015-02-05 17:27
- 更新:2017-11-03 12:08
- 阅读:9255
还有问题:
通过如下代码对switch进行设置。如果被设置的switch(mySwitch)没有被动过,那还一切正常,如果人动了一下switch,那中间的那个小圆型的拨快就不再跟着状态动了。
> var mySwitch = document.getElementById("mySwitch");
//添加mui-active类,打开开关
mySwitch.classList.add('mui-active');
//删除mui-active类,关闭开关
mySwitch.classList.remove('mui-active');
看看最下面的滑块,应该为开,但是滑块却在off的位置。有没有什么解决办法?
w***@yeah.net - 还没有
我是通过判断开关的点击事件,然后再让它toggle的.
mui(".table-wrap").on("tap",".mui-switch",function(e){
var eTarget = e.target;//mui-switch
while(!((/mui-switch$/.test(eTarget.className))||(/mui-switch[\s{0,}]/.test(eTarget.className)))){
eTarget = eTarget.parentNode;
}
mui(eTarget).switch().toggle();
})
ruien88
已经找到解决方案了,根据下面人的思路,我终于找到了解决方案:
设置开的时候同时设置mui-switch-handle的一个样式-webkit-transform 为ranslate3d(16px, 0, 0), 这里的16px适用于mui-switch-mini的样式,其他的switch可以根据情况调整长度
$('#switchID').addClass( 'mui-active');
$( '.mui-switch-handle').css("-webkit-transform" , "translate3d(16px, 0, 0)");
同理,设置为关闭的时候应该同时设置mui-switch-handle的一个样式-webkit-transform 为ranslate3d(0, 0, 0);
$('#switchID').removeClass( 'mui-active');
$( '.mui-switch-handle').css("-webkit-transform" , "translate3d(0, 0, 0)");
说白了,就是人工设置一下handle的初始位置
2016-07-26 19:40