原生js制作鼠標點擊彈出城市選擇代碼



54 214 72



特效描述:原生js制作 鼠標點擊彈出 城市選擇代碼,原生js制作鼠標點擊彈出城市選擇代碼

代碼結構

1. HTML代碼

<div id="main">
	<input name="button" type="button" class="bton pointer" value="請選擇" onclick="openBg(1);openSelect(1)"/>
	<div id="result">
		<div class="tit bgc_eee">
			<h2>您已選擇的城市匯總</h2>
		</div> 
		<div class="cont" id="makeSureItem"></div>
	</div>
</div>
<div id="bg"></div>
<div id="selectItem" class="hidden">
	<div class="tit bgc_ccc move" onmousedown="drag(event,this)">
		<h2 class="left">請選擇城市</h2>
		<span class="pointer right" onclick="openBg(0);openSelect(0);">[取消]</span>
		<span class="pointer right" onclick="makeSure();">[確定]</span>   
	</div>
	<div class="cls"></div>
	<div class="cont">
		<div id="selectSub">
			<select name="" onchange="showSelect(this.value)" style="margin-bottom:10px;">
				<option value="0">第0層</option>
				<option value="1">第1層</option>
				<option value="2">第2層</option>
				<option value="3">第3層</option>
			</select>
			<div id="c00">
				<input type="checkbox" name="ck00" onclick="addPreItem()" value="北京"/>北京
				<input type="checkbox" name="ck00" onclick="addPreItem()" value="福建"/>福建
				<input type="checkbox" name="ck00" onclick="addPreItem()" value="四川"/>四川 
				<input type="checkbox" name="ck00" onclick="addPreItem()" value="江蘇"/>江蘇
			</div>
			<div id="c01">
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="上海"/>上海
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="云南"/>云南
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="貴州"/>貴州
			</div>
			<div id="c02">
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="黑龍江"/>黑龍江
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="吉林"/>吉林
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="遼寧"/>遼寧
			</div>
			<div id="c03">
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="美國"/>美國
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="阿富汗"/>阿富汗
				<input type="checkbox" name="ck01" onclick="addPreItem()" value="日本"/>日本
			</div>
		</div>
	</div>
	<div id="preview">
		<div class="tit bgc_eee c_999">
			<h2>您已選擇的城市</h2>
		</div> 
		<div class="cont" id="previewItem"></div>
	</div>
</div>
<div style="height:500px;"></div>
<script type="text/javascript">
/* ------使用說明----- */
/*
 添加城市方法:
     添加組:找到id 是 "selectSub"中select標簽下,添加option標簽 value屬性遞增,找到 id 是 "selectSub",按照原有格式添加div,其id屬性遞增
 添加二級傅選礦選項
  復制 id 是 "selectSub" 下任意input標簽,粘貼在需要添加的位置。
*/
var grow = $("selectSub").getElementsByTagName("option").length; //組數
var showGrow = 0;//已打開組
var selectCount = 0; //已選數量 
showSelect(showGrow);
var items = $("selectSub").getElementsByTagName("input");
//alert(maxItem);
//var lenMax = 2; 
//alert(1);
function $(o){ //獲取對象
 if(typeof(o) == "string")
 return document.getElementById(o);
 return o;
}
function openBg(state){ //遮照打開關閉控制
 if(state == 1)
 {
  $("bg").style.display = "block";
  var h = document.body.offsetHeight > document.documentElement.offsetHeight ? document.body.offsetHeight : document.documentElement.offsetHeight;
 //alert(document.body.offsetHeight);
 //alert(document.documentElement.offsetHeight);
  $("bg").style.height = h + "px";
 }
 else
 {
  $("bg").style.display = "none";
 } 
}
function openSelect(state){ //選擇城市層關閉打開控制
 if(state == 1) 
 {
  $("selectItem").style.display = "block";
  $("selectItem").style.left = ($("bg").offsetWidth - $("selectItem").offsetWidth)/2 + "px";
  $("selectItem").style.top = document.body.scrollTop + 100 + "px";  
 }
 else
 {
  $("selectItem").style.display = "none";
 }
}
function showSelect(id){
 for(var i = 0 ; i < grow ;i++)
 {
  $("c0" + i).style.display = "none";
 }
 $("c0" + id).style.display = "block";
 showGrow = id;
}
function open(id,state){ //顯示隱藏控制
 if(state == 1)
 $(id).style.display = "block";
 $(id).style.diaplay = "none";
}
function addPreItem(){ 
 $("previewItem").innerHTML = "";
 var len = 0 ;
 for(var i = 0 ; i < items.length ; i++)
 {
  if(items[i].checked == true)
  {
   //len++;
   //if(len > lenMax)
   //{
   // alert("不能超過" + lenMax +"個選項!")
   // return false;
   //}
   var mes = "<input type='checkbox' checked='true' value='"+ items[i].value +"' onclick='copyItem(\"previewItem\",\"previewItem\");same(this);'>" + items[i].value;
   $("previewItem").innerHTML += mes;
   //alert(items[i].value);
  }
 }
}
function makeSure(){
 //alert(1);
 //$("makeSureItem").innerHTML = $("previewItem").innerHTML;
 openBg(0);
 openSelect(0);
 copyItem("previewItem","makeSureItem") 
}
function copyHTML(id1,id2){
 $(id2).innerHTML = $("id1").innerHTML;
}
function copyItem(id1,id2){
 var mes = "";
 var items2 = $(id1).getElementsByTagName("input");
 for(var i = 0 ; i < items2.length ; i++)
 {
  if(items2[i].checked == true)
  {
   mes += "<input type='checkbox' checked='true' value='"+ items2[i].value +"' onclick='copyItem(\"" + id2+ "\",\""+ id1 +"\");same(this);'>" + items2[i].value;   
  }
 }
 $(id2).innerHTML = "";
 $(id2).innerHTML += mes;
 //alert($(id2).innerHTML);
}
function same(ck){
 for(var i = 0 ; i < items.length ; i++)
 {
  if(ck.value == items[i].value)
  {
   items[i].checked = ck.checked;
  }
 }
} 
/* 鼠標拖動 */
var oDrag = "";
var ox,oy,nx,ny,dy,dx;
function drag(e,o){
 var e = e ? e : event;
 var mouseD = document.all ? 1 : 0;
 if(e.button == mouseD)
 {
  oDrag = o.parentNode;
  //alert(oDrag.id);
  ox = e.clientX;
  oy = e.clientY;  
 }
}
function dragPro(e){
 if(oDrag != "")
 { 
  var e = e ? e : event;
  //$(oDrag).style.left = $(oDrag).offsetLeft + "px";
  //$(oDrag).style.top = $(oDrag).offsetTop + "px";
  dx = parseInt($(oDrag).style.left);
  dy = parseInt($(oDrag).style.top);
  //dx = $(oDrag).offsetLeft;
  //dy = $(oDrag).offsetTop;
  nx = e.clientX;
  ny = e.clientY;
  $(oDrag).style.left = (dx + ( nx - ox )) + "px";
  $(oDrag).style.top = (dy + ( ny - oy )) + "px";
  ox = nx;
  oy = ny;
 }
}
document.onmouseup = function(){oDrag = "";}
document.onmousemove = function(event){dragPro(event);}
</script>
<div style="text-align:center;margin:0px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>



用戶評論
大牛,別默默的看了,快登錄幫我點評一下吧!:)      登錄 | 注冊


熱門標簽: 彈出層拖動 窗口 彈出 彈窗 彈出層 提示框 對話框 遮罩 遮罩層 彈窗插件 切換按鈕 表單 表單美化 表單插件 表單美化插件 提示框/彈出層 下拉框 select下拉菜單 select美化 select美化框 復選框 復選按鈕 復選框美化 城市選擇 城市選擇器
?
×
×

注冊

官方QQ群

掃描上面二維碼加微信群

官方QQ群

jQuery/js討論群
群號:642649996
Css3+Html5討論群
群號:322131262

加群請備注:從官網了解到

湖北30选5开奖结果走势图表