Heim > Web-Frontend > js-Tutorial > Implementieren Sie eine Schieberegler-Überprüfungsfunktion

Implementieren Sie eine Schieberegler-Überprüfungsfunktion

一个新手
Freigeben: 2018-05-18 09:26:22
Original
3960 Leute haben es durchsucht

Ich habe kürzlich etwas Kleines geschrieben, eine gleitende Bestätigung

<em><html>
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		*{
			margin: 0px;
			padding: 0px;
		}
		body{
			background: #000000;
		}
		.sliding{
			width: 400px;
			height: 40px;
			margin: 50px auto;
			background: #ccc;
			text-align: center;
			line-height: 40px;
			position: relative;
		}
		.sliding > p{
			width: 0px;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			background: green;
			z-index: 99;
			color: #FFFFFF;
			text-align: center;
			overflow: hidden;
		}
		.sliding > span{
			display: block;
			width: 46px;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			background-size: cover;
			cursor: pointer;
			z-index: 999;
			}
		.span1_back{
			background: url(img/sli1.png) no-repeat center center;
		}
		.span2_back{
			background: url(img/sli2.png)no-repeat center center;
		}
	</style>
</head>
<body>
	<p class="sliding">
		请按住滑块,拖至最右侧。
		<p></p>
		<span class="span1_back">
		</span>
	</p>
	<!-- 布局方面主要是使用定位把p标签和span都定位在 p 左边 --><br/><br/>
	<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript">
		$(function(){
			
			$(&#39;.sliding > span&#39;).on(&#39;mousedown&#39;,function(ev){
				var down_X=ev.clientX;     //获取鼠标摁下的位置
				var p_W=$(&#39;.sliding > p&#39;).get(0).offsetWidth;   //获取p的宽度当然这其实这个可有可无
				var span_X=$(&#39;.sliding > span&#39;).get(0).offsetLeft;  //与上同理
				$(document).get(0).onmousemove=function(ev){
					var move_X=ev.clientX; //获取鼠标移动的位置
					var size = move_X - down_X + p_W; //用移动过后的位置减去鼠标摁下的位置加上p的宽度或者 span 的left 值 因为俩者是同步的 所以 减去 其中一个就好					
					if(size>0){// 移动的时候判断size>0的时候执行,Math.min选取最小值,让拖动过程中不至于超出
						size=Math.min(($(&#39;.sliding&#39;).get(0).offsetWidth - $(&#39;.sliding > span&#39;).get(0).offsetWidth),size);
					}else{ //小于0的时候 size =0; 防止有无聊的用户拖回 超出边界。 
						size=0;
					}
					$(&#39;.sliding > p&#39;).css(&#39;width&#39;, size + &#39;px&#39;); 
					$(&#39;.sliding > span&#39;).css(&#39;left&#39;, size + &#39;px&#39;);
					return false;//防止拖拽过程中选中文字
				}
				$(document).get(0).onmouseup=function(){ //鼠标松开执行<br/>                                              //判段span到达边界时候执行
					if(($(&#39;.sliding > span&#39;).get(0).offsetLeft) >= ($(&#39;.sliding&#39;).get(0).offsetWidth - $(&#39;.sliding > span&#39;).get(0).offsetWidth)){
						$(&#39;.sliding > span&#39;).attr(&#39;class&#39;,&#39;span2_back&#39;); //更改span的背景图片
						$(&#39;.sliding > p&#39;).text(&#39;验证通过&#39;); //更改p标签中的内容
						$(&#39;.sliding > span&#39;).off(&#39;mousedown&#39;);//删除鼠标摁下方法防止用户 无聊往回 推拽
					}else{//判断没到达边界让它再回到起点
						$(&#39;.sliding > span&#39;).animate({left:&#39;0px&#39;},300); //利用jquery让p 和 span 回到起始状态
						$(&#39;.sliding > p&#39;).animate({width:&#39;0px&#39;},300);
					}
					$(document).get(0).onmousemove=null; //最后让 鼠标移动 和 鼠标松开 事件停止  
					$(document).get(0).onmouseup=null;
				}
			})
				
		})
	</script>
</body>
</html></em>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonImplementieren Sie eine Schieberegler-Überprüfungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage