逻辑思考之选择限定范围内的数量插入不指定位置并且具有替换功能

2017-01-11 19:34:09来源:作者:人点击

这个逻辑文字描述好像很复杂,具体到实践功能就知道我想表达的是什么了。把逻辑想通了,这个功能也就写出来了,demo如下:
请转载此文的朋友务必附带原文链接,谢谢。原文链接:/content/11334665.html

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <!--引用jquery--> <script src="http://code.jquery.com/jquery-2.0.3.min.js" type="text/javascript"></script> <style type="text/css"> *{ 	margin: 0px; 	padding: 0px; 	list-style: none; } .list{ 	padding: 10px; 	border: solid 1px #000000; 	width: 500px; 	height: 200px; 	margin-top: 20px; } .list li{ 	float: left; 	width: 100px; 	border-bottom: dashed 1px #C4C4C4; 	padding-bottom: 5px; 	margin-top: 20px; 	margin-left: 20px; } .check{ 	float: left; 	width: 8px; 	height: 8px; 	background: #FFFFFF; 	border: solid 1px #000000; 	border-radius: 50%;		margin-top: 5px;		margin-right: 10px; } .check.active{ 	background: #000000; } .bottom li{ 	 } </style> <script type="text/javascript"> 	$(function(){ 		var arr = []; //保存已经选中的项插入的对应的位置 		$(".check").on("click",function(){ 			$(this).addClass("active"); 			var len = $(".top").find(".active").length; //已经选中的数量 			var txt = $(this).parent().text(); //要插入的内容 			if($(this).hasClass("active") && ifExist()&& len <= 4){  //状态:如果已经选中而且之前没有插入过同时总数量小于限定数量,则执行如下	 			$(".bottom li").each(function(){	 				var con = $(this).text(); 					if(!con){ 					arr[txt] = $(this).index();  					$(this).html(txt); 					return false; 					}		 			}); 			}else if($(this).hasClass("active") && !ifExist()){  //状态:如果已经选中,之前已经插入过, 则执行如下 				$(this).removeClass("active"); 				var index = arr[txt];  //读取当前选中之前插入的位置 				$(".bottom li").eq(index).html(""); 			}else{ 				$(this).removeClass("active"); 				alert("最多只能选择4个"); 			} 			function ifExist(){ 				var result;					$(".bottom li").each(function(){ //遍历插入列表中要插入选项是否存在,如果存在返回false,否则返回true	 				var con = $(this).text();						if(con != txt){							result = true;						}else{							result = false;							return false;						}	 			});	 			return result; 			} 		}); 	 	}) </script></head><body><ul class="list top">	<li><span class="check"></span>11111</li>	<li><span class="check"></span>22222</li>	<li><span class="check"></span>33333</li>	<li><span class="check"></span>44444</li>	<li><span class="check"></span>55555</li>	<li><span class="check"></span>66666</li></ul><ul class="list bottom">	<li></li>	<li></li>	<li></li>	<li></li></ul><script>	</script></body> </html>


本文出自 “没有翅膀的菜鸟的进阶” 博客,请务必保留此出处/content/11334665.html

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台