mui input range(滑块) 解决在ios上不能点击改变input value,增加进度条的颜色自定义

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <title></title>
    <script src="js/mui.min.js"></script>
    <link href="css/mui.min.css" rel="stylesheet"/>
   <style type="text/css">
   	/*横条样式*/
   	input[type=range] {
   	  -webkit-appearance: none;/*清除系统默认样式*/
   	  width: 60%;
	  margin-left: 20%;
	  margin-top: 30px;
   	  background: -webkit-linear-gradient(#26a6d3, #26a6d3) no-repeat, #d3d3d3;/*设置左边颜色为#26a6d3,右边颜色为#d3d3d3*/
   	  background-size: 0% 100%;
   	  height: 5px;
   	}
	
   	/*拖动块的样式*/
   	input[type=range]::-webkit-slider-thumb {
   	  -webkit-appearance: none;/*清除系统默认样式*/
   	  height: 13px;
   	  width: 13px;
   	  background: #fff;
   	  border-radius: 50%;
   	  border: solid 1px #ddd; 
   	}
	
	#input_range1 {
		background-size: 50% 100%;/*设置默认值为50的时候,左边的颜色*/
	}
	
   </style>
</head>
<body>
	<input id="input_range1" type="range" value="50" min="0" max="100" />
	<input id="input_range2" type="range" value="0" min="0" max="100" />
	<input id="input_range3" type="range" value="0" min="0" max="100" />
	
	<script type="text/javascript" charset="utf-8">
	  	mui.init();
		
		var input_range2 = document.getElementById("input_range2");
		input_range2.value = "20";
		input_range2.style.webkitBackgroundSize = input_range2.value+"% 100%";
		
		var rangeList = document.querySelectorAll('input[type="range"]');
		for (var i = 0; i < rangeList.length; i++) {
			var range = rangeList[i];
			range.addEventListener('input',function(e){
				this.style.webkitBackgroundSize = this.value+"% 100%";
			});
			range.addEventListener('touchstart',function(e){//解决在ios上不能点击改变input value
				var min = 100/this.clientWidth;
				var x = this.getBoundingClientRect().left;
				this.value = min*(e.touches[0].pageX-x);
				this.style.webkitBackgroundSize = this.value+"% 100%";
			}); 
		}
		
	</script>
</body>
</html>

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值