650) this.width=650;" border="0" alt="" src="http://img1.51cto.com/attachment/201203/112009966.png" />

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>仿51job.com城市选择框特效</title>
  6. <style type="text/css">
  7. <!--
  8. body{padding-top:50px;font-size:12px;}
  9. h2{margin:0px;padding:0px;font-size:12px;font-weight:bold;}
  10. .bton{border:1px solid #CCC;background:#DDD;}
  11. .cont{padding:10px;}
  12. #main{width:400px;margin:0px auto;}
  13. #selectItem{background:#FFF;position:absolute;top:0px;left:center;border:1px solid #000;overflow:hidden;margin-top:10px;width:400px;z-index:2;}
  14. #preview{margin:1px;border:1px solid #CCC;}
  15. #result{border:1px solid #CCC;margin-top:10px;}
  16. .tit{line-height:20px;height:20px;margin:1px;padding-left:10px;}
  17. .bgc_ccc{background:#CCC;}
  18. .bgc_eee{background:#eee;}
  19. .c_999{color:#999}
  20. .pointer{cursor:pointer;}
  21. .left{float:left;}
  22. .right{float:right;}
  23. .cls{clear:both;font-size:0px;height:0px;overflow:hidden;}
  24. #bg{background:#CCC;filter:alpha(opacity=70);opacity:0.7;width:100%;;position:absolute;left:0px;top:0px;display:none;z-index:1;}
  25. .hidden{display:none;}
  26. .move{cursor:move;}
  27. -->
  28. </style>
  29. </head>
  30. <body>
  31. <div id="main">
  32. <input name="button" type="button" class="bton pointer" value="请选择" onclick="openBg(1);openSelect(1)"/>
  33. <div id="result">
  34. <div class="tit bgc_eee">
  35. <h2>您已选择的城市汇总</h2>
  36. </div>
  37. <div class="cont" id="makeSureItem">
  38. </div>
  39. </div>
  40. </div>
  41. <div id="bg">
  42. </div>
  43. <div id="selectItem" class="hidden">
  44. <div class="tit bgc_ccc move" onmousedown="drag(event,this)">
  45. <h2 class="left">请选择城市</h2>
  46. <span class="pointer right" onclick="openBg(0);openSelect(0);">[取消]</span>
  47. <span class="pointer right" onclick="makeSure();">[确定]</span>
  48. </div>
  49. <div class="cls"></div>
  50. <div class="cont">
  51. <div id="selectSub">
  52. <div id="c00">
  53. <input type="checkbox" name="ck00" onclick="addPreItem()" value="北京"/>北京
  54. <input type="checkbox" name="ck00" onclick="addPreItem()" value="福建"/>福建
  55. <input type="checkbox" name="ck00" onclick="addPreItem()" value="四川"/>四川
  56. <input type="checkbox" name="ck00" onclick="addPreItem()" value="江苏"/>江苏
  57. </div>
  58. <div id="c01">
  59. <input type="checkbox" name="ck01" onclick="addPreItem()" value="上海"/>上海
  60. <input type="checkbox" name="ck01" onclick="addPreItem()" value="云南"/>云南
  61. <input type="checkbox" name="ck01" onclick="addPreItem()" value="贵州"/>贵州
  62. </div>
  63. <div id="c02">
  64. <input type="checkbox" name="ck01" onclick="addPreItem()" value="黑龙江"/>黑龙江
  65. <input type="checkbox" name="ck01" onclick="addPreItem()" value="吉林"/>吉林
  66. <input type="checkbox" name="ck01" onclick="addPreItem()" value="辽宁"/>辽宁
  67. </div>
  68. <div id="c03">
  69. <input type="checkbox" name="ck01" onclick="addPreItem()" value="美国"/>美国
  70. <input type="checkbox" name="ck01" onclick="addPreItem()" value="阿富汗"/>阿富汗
  71. <input type="checkbox" name="ck01" onclick="addPreItem()" value="日本"/>日本
  72. </div>
  73. </div>
  74. </div>
  75. <div id="preview">
  76. <div class="tit bgc_eee c_999">
  77. <h2>您已选择的城市</h2>
  78. </div>
  79. <div class="cont" id="previewItem">
  80. </div>
  81. </div>
  82. </div>
  83. <script type="text/javascript">
  84. /* ------使用说明----- */
  85. /*
  86. 添加城市方法:
  87. 添加组:找到id 是 "selectSub"中select标签下,添加option标签 value属性递增,找到 id 是 "selectSub",按照原有格式添加div,其id属性递增
  88. 添加二级傅选矿选项
  89. 复制 id 是 "selectSub" 下任意input标签,粘贴在需要添加的位置。
  90. */
  91. var grow = $("selectSub").getElementsByTagName("option").length; //组数
  92. var showGrow = 0;//已打开组
  93. var selectCount = 0; //已选数量
  94. showSelect(showGrow);
  95. var items = $("selectSub").getElementsByTagName("input");
  96. //alert(maxItem);
  97. //var lenMax = 2;
  98. //alert(1);
  99. function $(o){ //获取对象
  100. if(typeof(o) == "string")
  101. return document.getElementById(o);
  102. return o;
  103. }
  104. function openBg(state){ //遮照打开关闭控制
  105. if(state == 1)
  106. {
  107. $("bg").style.display = "block";
  108. var h = document.body.offsetHeight > document.documentElement.offsetHeight ? document.body.offsetHeight : document.documentElement.offsetHeight;
  109. //alert(document.body.offsetHeight);
  110. //alert(document.documentElement.offsetHeight);
  111. $("bg").style.height = h + "px";
  112. }
  113. else
  114. {
  115. $("bg").style.display = "none";
  116. }
  117. }
  118. function openSelect(state){ //选择城市层关闭打开控制
  119. if(state == 1)
  120. {
  121. $("selectItem").style.display = "block";
  122. $("selectItem").style.left = ($("bg").offsetWidth - $("selectItem").offsetWidth)/2 + "px";
  123. $("selectItem").style.top = document.body.scrollTop + 100 + "px";
  124. }
  125. else
  126. {
  127. $("selectItem").style.display = "none";
  128. }
  129. }
  130. function showSelect(id){
  131. for(var i = 0 ; i < grow ;i++)
  132. {
  133. $("c0" + i).style.display = "none";
  134. }
  135. $("c0" + id).style.display = "block";
  136. showGrow = id;
  137. }
  138. function open(id,state){ //显示隐藏控制
  139. if(state == 1)
  140. $(id).style.display = "block";
  141. $(id).style.diaplay = "none";
  142. }
  143. function addPreItem(){
  144. $("previewItem").innerHTML = "";
  145. var len = 0 ;
  146. for(var i = 0 ; i < items.length ; i++)
  147. {
  148. if(items[i].checked == true)
  149. {
  150. //len++;
  151. //if(len > lenMax)
  152. //{
  153. // alert("不能超过" + lenMax +"个选项!")
  154. // return false;
  155. //}
  156. var mes = "<input type='checkbox' checked='true' value='"+ items[i].value +"' onclick='copyItem(\"previewItem\",\"previewItem\");same(this);'>" + items[i].value;
  157. $("previewItem").innerHTML += mes;
  158. //alert(items[i].value);
  159. }
  160. }
  161. }
  162. function makeSure(){
  163. //alert(1);
  164. //$("makeSureItem").innerHTML = $("previewItem").innerHTML;
  165. openBg(0);
  166. openSelect(0);
  167. copyItem("previewItem","makeSureItem")
  168. }
  169. function copyHTML(id1,id2){
  170. $(id2).innerHTML = $("id1").innerHTML;
  171. }
  172. function copyItem(id1,id2){
  173. var mes = "";
  174. var items2 = $(id1).getElementsByTagName("input");
  175. for(var i = 0 ; i < items2.length ; i++)
  176. {
  177. if(items2[i].checked == true)
  178. {
  179. mes += "<input type='checkbox' checked='true' value='"+ items2[i].value +"' onclick='copyItem(\"" + id2+ "\",\""+ id1 +"\");same(this);'>" + items2[i].value;
  180. }
  181. }
  182. $(id2).innerHTML = "";
  183. $(id2).innerHTML += mes;
  184. //alert($(id2).innerHTML);
  185. }
  186. function same(ck){
  187. for(var i = 0 ; i < items.length ; i++)
  188. {
  189. if(ck.value == items[i].value)
  190. {
  191. items[i].checked = ck.checked;
  192. }
  193. }
  194. }
  195. /* 鼠标拖动 */
  196. var oDrag = "";
  197. var ox,oy,nx,ny,dy,dx;
  198. function drag(e,o){
  199. var ee = e ? e : event;
  200. var mouseD = document.all ? 1 : 0;
  201. if(e.button == mouseD)
  202. {
  203. ooDrag = o.parentNode;
  204. //alert(oDrag.id);
  205. ox = e.clientX;
  206. oy = e.clientY;
  207. }
  208. }
  209. function dragPro(e){
  210. if(oDrag != "")
  211. {
  212. var ee = e ? e : event;
  213. //$(oDrag).style.left = $(oDrag).offsetLeft + "px";
  214. //$(oDrag).style.top = $(oDrag).offsetTop + "px";
  215. dx = parseInt($(oDrag).style.left);
  216. dy = parseInt($(oDrag).style.top);
  217. //dx = $(oDrag).offsetLeft;
  218. //dy = $(oDrag).offsetTop;
  219. nx = e.clientX;
  220. ny = e.clientY;
  221. $(oDrag).style.left = (dx + ( nx - ox )) + "px";
  222. $(oDrag).style.top = (dy + ( ny - oy )) + "px";
  223. ox = nx;
  224. oy = ny;
  225. }
  226. }
  227. document.onmouseup = function(){oDrag = "";}
  228. document.onmousemove = function(event){dragPro(event);}
  229. </script>
  230. </body>
  231. </html>

仿51job.com城市选择框特效的更多相关文章

  1. 基于jQuery仿去哪儿城市选择代码

    基于jQuery仿去哪儿城市选择代码.这是一款使用的jQuery城市选择特效代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="lin ...

  2. jquery如何实现动态增加选择框

    jquery如何实现动态增加选择框 一.总结 一句话总结:用jquery的clone(true)方法. 1.如何在页面中复制amazeui加了特效的标签? amazeui中的控件带js方法,不知道那部 ...

  3. FancySelect – 更好用的 jQuery 下拉选择框插件

    FancySelect 这款插件是 Web 开发中下拉框功能的一个更好的选择.FancySelect 使用方便,只要绑定页面上的任何 Select 元素,并调用就 .fancySelect() 就可以 ...

  4. 基于jQuery美化联动下拉选择框

    今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲 ...

  5. 纯原生js移动端城市选择插件

    接着上一篇纯js移动端日期选择插件,话说今天同事又来咨询省市县联动的效果在移动端中如何实现,还是老样子,百度上一搜,诶~又全是基于jquery.zepto的,更加可恨的是大多数都是PC版的,三个sel ...

  6. 基于jquery的城市选择插件

    城市选择插件的难度不是很大,主要是对dom节点的操作.而我写的这个插件相对功能比较简答,没有加入省市联动. 上代码好了,参照代码的注释应该比较好理解. /* *基于jquery的城市选择插件 *aut ...

  7. android wheelview实现三级城市选择

    很早之前看淘宝就有了ios那种的城市选择控件,当时也看到网友有分享,不过那个写的很烂,后来(大概是去年吧),我们公司有这么一个项目,当时用的还是网上比较流行的那个黑框的那个,感觉特别的丑,然后我在那个 ...

  8. 【React】开发一个城市选择控件

    想到做这个,是因为无意中在github上看到了这一个仓库https://github.com/lunlunshiwo/ChooseCity,做的就是一个城市选择控件,是用vue写的,说的是阿里的一道题 ...

  9. java基础68 JavaScript城市联动框(网页知识)

    1.城市联动框 <!doctype html> <html> <head> <meta charset="utf-8"> <t ...

随机推荐

  1. 去他的效应(what-the-hell effect)与自我放纵

    去他的 效应(what-the-hell effect)与自我放纵 为什么写这篇文章: 对于我来说,但我感到疲惫——"无意拿起"手机,对自己说"随便看看"——但 ...

  2. DropDownList中显示无限级树形结构

    效果图: 数据库表: DirID:目录的ID,ParentID:目录的父路径ID,Name:目录的名字主要代码: using System;using System.Collections;using ...

  3. sqlalchemy 的 ORM 方式使用示例

    知乎: 使用 sqlalchemy 的 orm 方式操作数据库是一种怎样的体验? 答: 酸爽! 本文基于:win10 + python3.4 + sqlAlchemy 1.0.13 先看一个图(来源) ...

  4. [CareerCup] 11.4 Sort the File 文件排序

    11.4 Imagine you have a 20 GB file with one string per line. Explain how you would sort the file. 这道 ...

  5. Django添加Last-Modified和ETag

    用Django REST Framework做的REST API,其中有个API有这样的需求: APP端请求这个API,服务器端从数据库读数据,返回json.返回的数据量稍微有些大,但是可能一年才修改 ...

  6. Python Web实战 - 基于Flask实现的黄金点游戏

    一.简介 团队成员: 领航者:张旭 驾驶员:张国庆 项目简介: 项目名称:基于B/S模式的黄金点游戏 采用技术: 后端:Python + Sqlite3 前端:HTML + CSS + JS + Bo ...

  7. 关于ARP攻击的原理以及在Kali Linux环境下的实现

    关于ARP攻击的原理以及在Kali Linux环境下的实现 全文摘要 本文讲述内容分为两部分,前半部分讲述ARP协议及ARP攻击原理,后半部分讲述在Kali Linux环境下如何实现ARP攻击以及AR ...

  8. mui slider 改变默认index

    mui('class').slider().gotoItem(1,0) 目前已知问题,在class类名对应的dom元素是隐藏的时候初始化设置将报错,因为:  如果display取值是none,也就是不 ...

  9. Windows下apache php wordpress配置

    2. Use notepad to open httpd.conf config file. Make use the line "LoadModule rewrite_module mod ...

  10. mac版beyond compare 4 中对比class文件

    http://www.scootersoftware.com/download.php?zz=moreformats 这个网址中没有mac版本的class文件对比的file format.只能自己造了 ...