`

51job选择城市功能特效代码

    博客分类:
  • JS
阅读更多

 

<!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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
body{padding-top:50px;font-size:12px;}
h2{margin:0px;padding:0px;font-size:12px;font-weight:bold;}
.bton{border:1px solid #CCC;background:#DDD;}
.cont{padding:10px;}
#main{width:400px;margin:0px auto;}
#selectItem{background:#FFF;position:absolute;top:0px;left:center;border:1px solid #000;overflow:hidden;margin-top:10px;width:400px;z-index:2;}
#preview{margin:1px;border:1px solid #CCC;}
#result{border:1px solid #CCC;margin-top:10px;}
.tit{line-height:20px;height:20px;margin:1px;padding-left:10px;}
.bgc_ccc{background:#CCC;}
.bgc_eee{background:#eee;}
.c_999{color:#999}
.pointer{cursor:pointer;}
.left{float:left;}
.right{float:right;}
.cls{clear:both;font-size:0px;height:0px;overflow:hidden;}
#bg{background:#CCC;filter:alpha(opacity=70);opacity:0.7;width:100%;;position:absolute;left:0px;top:0px;display:none;z-index:1;}
.hidden{display:none;}
.move{cursor:move;}
-->
</style>
</head>
<body>
<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>
 
<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>
</body>
</html>
分享到:
评论

相关推荐

    仿51job 城市选择

    【标题】"仿51job 城市选择"是一个编程项目,旨在模仿著名招聘网站51job的城市选择功能。这个功能通常用于帮助用户在寻找工作时筛选目标城市,提高求职效率。通过仿制51job的城市选择界面,开发者可以为自己的应用或...

    仿51job弹出层城市选择代码

    【标题】"仿51job弹出层城市选择代码"涉及到的是前端开发中的一个常见功能——弹出式选择框的设计与实现,特别是针对城市选择这一特定应用场景。51job是中国知名的职业招聘网站,其用户界面设计往往被视为行业标准,...

    仿51job 城市选择 可多选

    仿51job 城市选择 可多选 仿51job 城市选择 多选 城市联动 漂亮

    51job 仿城市选择(绝对正宗) 弹出层的城市选择框

    总的来说,“51job 仿城市选择(绝对正宗) 弹出层的城市选择框”是一个涵盖了前端开发多个方面的知识点,包括数据结构设计、UI交互、JavaScript编程、响应式布局以及代码组织等,对于提升网页应用的用户体验有着重要...

    51job选择特效(.....)

    标签“51job 网站选择效果组件”确认了这些文件与51job网站上的某个功能组件有关,可能是一个JavaScript库或插件,用于实现选择特效。这可能是一个自定义的jQuery插件,因为还提到了“jquerySelect.rar”。 ...

    基于jQuery实现仿51job城市选择功能实例代码

    在这个实例中,我们探讨了如何使用jQuery来实现一个仿51job的城市选择功能,这是一个常见的三级联动选择,涉及省、市、县。首先,我们看到HTML结构中引用了jQuery库,这是实现JavaScript交互功能的基础。 在CSS部分...

    仿51job弹出城市选择框

    仿51job弹出城市选择框,jQuery编写,兼容各种浏览器

    JS 51job城市选择控件带ajax动态生成

    【JS 51job城市选择控件带AJAX动态生成】是一种常见的前端技术实现,用于在网页上创建类似于51job网站的地区选择功能。这个控件允许用户逐级选择省份、城市,提供了友好的用户体验,并且通过AJAX技术实现了数据的...

    仿51job选择

    【51job选择】是一个模拟真实招聘网站51job功能的应用程序或系统,它提供了用户在寻找工作时可能需要的各种筛选选项。这个应用的核心在于帮助求职者根据自己的需求精准定位适合的职位,以便更高效地进行职业规划和...

    拔取51job网站行业选择代码

    在51job网站的行业选择功能中,JavaScript可能负责处理用户的交互事件,如点击、下拉菜单展开等,同时它也可能负责从服务器获取或更新数据。 jQuery是一个JavaScript库,简化了JavaScript的使用,提供了更简洁的API...

    仿51JOB选择城市职业效果

    在IT行业中,构建一个类似51JOB的城市与职业选择功能是一项常见的需求,它涉及到前端开发、数据处理以及用户体验设计等多个方面。51JOB是中国知名的职业招聘网站,其城市职业选择功能让用户能根据地理位置和职业类别...

    51job城市选择器javascript CSDN.net

    在51job城市选择器中,jQuery的使用大大减少了代码量,提高了代码的可读性和维护性。例如,使用jQuery的选择器可以快速定位到目标元素,而动画函数则能实现平滑的下拉效果。 三、城市选择器的设计原理 1. 数据结构...

    仿51job选择地区、选择行业、选择职位效果

    总的来说,仿51job选择地区、选择行业、选择职位的效果实现是一个综合性的项目,涵盖前端交互、后端逻辑、数据库设计、搜索算法以及用户体验等多个层面。每个环节都需要精心设计和实现,才能打造出一个高效且用户...

    实现类似51job地区选择效果

    实现类似51job地区选择效果 在本文中,我们将实现一个类似于51job的地区选择效果,以提供更好的用户体验。 首先,我们需要了解 HTML、CSS 和 JavaScript 的基本知识,因为这些技术将被用来实现地区选择效果。 1. ...

    仿51job类似城市选择弹窗效果

    文件"51job类似城市选择.html"很可能是实现这个功能的一个示例代码,其中包含了上述所有技术的结合。开发者可以参考这个文件来学习如何在实际项目中实现类似的功能。理解并掌握这些知识点,对于前端开发者来说是非常...

    仿51job.com城市选择框特效

    仿51job.com城市选择框特效! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/

    仿51job弹出层城市选择代码.zip

    这个"仿51job弹出层城市选择代码"是一个示例项目,旨在模仿知名招聘网站51job的城市选择功能。下面将详细阐述相关知识点。 首先,HTML(HyperText Markup Language)是网页的基础结构语言,用于定义页面内容和布局...

    类似51job的城市选择器

    在互联网招聘网站如51job上,城市选择器扮演着重要的角色,因为它帮助求职者和雇主定位到合适的地理位置进行招聘活动。下面我们将详细探讨这种城市选择器的设计原理、实现技术以及可能涉及的相关知识点。 1. **交互...

    51job弹出层选择效果

    在这个专题中,我们将深入探讨51job弹出层的选择效果,包括单选、多选以及各种定制化的选择功能。 首先,弹出层选择效果的设计目标是提供一种直观、易用的方式来让用户在多个选项中做出选择。在51job的场景中,这...

Global site tag (gtag.js) - Google Analytics