仿51JOB的地区选择效果(可选择多个地区)

js地区选择

* {margin:0;}
body {font-size:12px;}
#container div{margin-top:5px;}
#select_city h3{float:left;}
#main_city,#all_province {clear:both;}
#main_city div,#all_province div{width:600px;clear:left;}
#main_city h4,#all_province h4{float:left;display:inline;font-size:16px;}
#main_city div span,#all_province div span{margin:0 10px;cursor:pointer;font-size:12px;}
#float_lay{width:200px;height:120px;border:1px #d1d1d1 solid;position:absolute;background:#fff;z-index:999;display:none;}

//弹出层
function openLayer()
{
//创建一个div元素
var popupDiv = document.createElement("div");

//给这个元素设置属性与样式
popupDiv.setAttribute("id","popupAddr")
popupDiv.style.border = "1px solid #ccc";
popupDiv.style.width = "600px";
popupDiv.style.height = "400px";
popupDiv.style.background = "#fff";
popupDiv.style.zIndex = 99;
popupDiv.style.position = "absolute";

//让弹出层在页面中垂直左右居中
var arrayPageSize = getPageSize();
var arrayPageScroll = getPageScroll();
//alert(arrayPageScroll);
//alert(arrayPageSize);

popupDiv.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - 400) / 2) + 'px') ;
popupDiv.style.left = (((arrayPageSize[0] - 20 - 600) / 2) + 'px');

//创建背景层
var bodyBack = document.createElement("div");
bodyBack.setAttribute("id","bodybg")
bodyBack.style.width = "100%";
bodyBack.style.height = (arrayPageSize[1] + 35 + 'px');
bodyBack.style.zIndex = 98;
bodyBack.style.position = "absolute";
bodyBack.style.top = 0;
bodyBack.style.left = 0;

bodyBack.style.filter = "alpha(opacity=20)";
bodyBack.style.opacity = 0.2;
bodyBack.style.background = "#000";

//收工插入到目标元素之后
var mybody = document.getElementById("test");
insertAfter(popupDiv,mybody);
insertAfter(bodyBack,mybody);

//弹出层内容
popupDiv.innerHTML = addrHTML();
init_check();
init_check_event();
}
//元素插入另一个元素之后
function insertAfter(newElement, targetElement)
{
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement)
{
parent.appendChild(newElement);
}
else
{
parent.insertBefore(newElement, targetElement.nextSibling);
}
}
//获取滚动条的高度
function getPageScroll(){
var yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict
yScroll = document.documentElement.scrollTop;
} else if (document.body) {// all other Explorers
yScroll = document.body.scrollTop;
}
arrayPageScroll = new Array('',yScroll)
return arrayPageScroll;
}
//获取页面实际大小
function getPageSize(){

var xScroll, yScroll;

if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}

var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}

// for small pages with total height less then height of the viewport
if(yScroll [确定]';

//图片地址
var TITLEBG = "http://www.qqdang.net/code/title_bg.gif";
var ICN = "http://www.qqdang.net/code/icn.gif";
var htmlDiv = '';
htmlDiv += '

';

//头部
htmlDiv += '

';
htmlDiv += '';
htmlDiv += TITLE;
htmlDiv += '';
htmlDiv += '';
htmlDiv += CLOSE;
htmlDiv += '';
htmlDiv += '

';
//END头部

//内容部分
htmlDiv += '

';
htmlDiv += '

';
//END内容部分
htmlDiv += '

';
return htmlDiv;
}
//工作地点键值匹配数组
var ja=[];
ja['0100']='北京市';
ja['0200']='上海市';
ja['0300']='广东省';ja['0302']='广州市';ja['0303']='惠州市';ja['0304']='汕头市';ja['0305']='珠海市';ja['0306']='佛山市';ja['0307']='中山市';ja['0308']='东莞市';ja['0310']='从化市';ja['0314']='韶关市';ja['0315']='江门市';ja['0316']='增城市';ja['0317']='湛江市';ja['0318']='肇庆市';ja['0319']='清远市';ja['0320']='潮州市';ja['0321']='河源市';ja['0322']='揭阳市';ja['0323']='茂名市';ja['0324']='汕尾市';ja['0325']='顺德市';
ja['0400']='深圳市';
ja['0500']='天津市';
ja['0600']='重庆市';
ja['0700']='江苏省';ja['0702']='南京市';ja['0703']='苏州市';ja['0704']='无锡市';ja['0705']='常州市';ja['0706']='昆山市';ja['0707']='常熟市';ja['0708']='扬州市';ja['0709']='南通市';ja['0710']='镇江市';ja['0711']='徐州市';ja['0712']='连云港市';ja['0713']='盐城市';ja['0714']='张家港市';
ja['0800']='浙江省';ja['0802']='杭州市';ja['0803']='宁波市';ja['0804']='温州市';ja['0805']='绍兴市';ja['0806']='金华市';ja['0807']='嘉兴市';ja['0808']='台州市';ja['0809']='湖州市';ja['0810']='丽水市';ja['0811']='舟山市';ja['0812']='衢州市';
ja['0900']='四川省';ja['0902']='成都市';ja['0903']='绵阳市';ja['0904']='乐山市';ja['0905']='泸州市';ja['0906']='德阳市';ja['0907']='宜宾市';ja['0908']='自贡市';ja['0909']='内江市';ja['0910']='攀枝花市';
ja['1000']='海南省';ja['1002']='海口市';ja['1003']='三亚市';
ja['1100']='福建省';ja['1102']='福州市';ja['1103']='厦门市';ja['1104']='泉州市';ja['1105']='漳州市';ja['1106']='莆田市';ja['1107']='三明市';ja['1108']='南平市';ja['1109']='宁德市';ja['1110']='龙岩市';
ja['1200']='山东省';ja['1202']='济南市';ja['1203']='青岛市';ja['1204']='烟台市';ja['1205']='潍坊市';ja['1206']='威海市';ja['1207']='淄博市';ja['1208']='临沂市';ja['1209']='济宁市';ja['1210']='东营市';ja['1211']='泰安市';ja['1212']='日照市';ja['1213']='德州市';
ja['1300']='江西省';ja['1302']='南昌市';ja['1303']='九江市';
ja['1400']='广西';ja['1402']='南宁市';ja['1403']='桂林市';ja['1404']='柳州市';ja['1405']='北海市';
ja['1500']='安徽省';ja['1502']='合肥市';ja['1503']='芜湖市';ja['1504']='安庆市';ja['1505']='马鞍山市';ja['1506']='蚌埠市';ja['1507']='阜阳市';ja['1508']='铜陵市';ja['1509']='滁州市';ja['1510']='黄山市';ja['1511']='淮南市';ja['1512']='六安市';ja['1513']='巢湖市';ja['1514']='宣城市';ja['1515']='池州市';
ja['1600']='河北省';ja['1602']='石家庄市';ja['1603']='廊坊市';ja['1604']='保定市';ja['1605']='唐山市';ja['1606']='秦皇岛市';
ja['1700']='河南省';ja['1702']='郑州市';ja['1703']='洛阳市';ja['1704']='开封市';
ja['1800']='湖北省';ja['1802']='武汉市';ja['1803']='宜昌市';ja['1804']='黄石市';ja['1805']='襄樊市';ja['1806']='十堰市';ja['1807']='荆州市';ja['1808']='荆门市';ja['1809']='孝感市';ja['1810']='鄂州市';
ja['1900']='湖南省';ja['1902']='长沙市';ja['1903']='株洲市';ja['1904']='湘潭市';ja['1905']='衡阳市';ja['1906']='岳阳市';ja['1907']='常德市';ja['1908']='益阳市';ja['1909']='郴州市';ja['1910']='邵阳市';ja['1911']='怀化市';ja['1912']='娄底市';ja['1913']='永州市';ja['1914']='张家界市';
ja['2000']='陕西省';ja['2002']='西安市';ja['2003']='咸阳市';ja['2004']='宝鸡市';ja['2005']='铜川市';ja['2006']='延安市';
ja['2100']='山西省';ja['2102']='太原市';ja['2103']='运城市';ja['2104']='大同市';ja['2105']='临汾市';
ja['2200']='黑龙江省';ja['2202']='哈尔滨市';ja['2203']='伊春市';ja['2204']='绥化市';ja['2205']='大庆市';ja['2206']='齐齐哈尔市';ja['2207']='牡丹江市';ja['2208']='佳木斯市';
ja['2300']='辽宁省';ja['2302']='沈阳市';ja['2303']='大连市';ja['2304']='鞍山市';ja['2305']='营口市';ja['2306']='抚顺市';ja['2307']='锦州市';ja['2308']='丹东市';ja['2309']='葫芦岛市';ja['2310']='本溪市';ja['2311']='辽阳市';ja['2312']='铁岭市';
ja['2400']='吉林省';ja['2402']='长春市';ja['2403']='吉林市';ja['2404']='辽源市';ja['2405']='通化市';
ja['2500']='云南省';ja['2502']='昆明市';ja['2503']='曲靖市';ja['2504']='玉溪市';ja['2505']='大理市';ja['2506']='丽江市';ja['2507']='蒙自市';ja['2508']='开远市';ja['2509']='个旧市';ja['2510']='红河州';
ja['2600']='贵州省';ja['2602']='贵阳市';ja['2603']='遵义市';
ja['2700']='甘肃省';ja['2702']='兰州市';ja['2703']='金昌市';
ja['2800']='内蒙古';ja['2802']='呼和浩特市';ja['2803']='赤峰市';ja['2804']='包头市';
ja['2900']='宁夏';ja['2902']='银川市';
ja['3000']='西藏';ja['3002']='拉萨市';ja['3003']='日喀则市';
ja['3100']='新疆';ja['3102']='乌鲁木齐市';ja['3103']='克拉玛依市';ja['3104']='喀什地区市';
ja['3200']='青海省';ja['3202']='西宁市';
ja['3300']='香港';
ja['3400']='澳门';
ja['3500']='台湾';
ja['3600']='国外';
//主要城市数据字典
var maincity=[['华北-东北',['0100','0500','2303','2302','2402','2202']],['华东 地区',['0200','0702','0703','0802','0803','1502','1102','1202','1203']],['华南-华中',['0302','0400','0308','1802','1902','1702']],['西北-西南',['2002','0902','0600','2502']]];
//所有省份数据字典
var allprov=[['华北-东北',['1600','2100','2800','2300','2400','2200']],['华东 地区',['0700','0800','1500','1100','1300','1200']],['华南-华中',['0300','1400','1000','1700','1800','1900']],['西北-西南',['2000','2700','3200','2900','3100','0900','2600','2500','3000']],['其它',['3300','3400','3500','3600']]];
var isIE = /msie/.test(navigator.userAgent.toLowerCase());
var containerID = "container";
var floatID = "float_lay";
function init_check(){
_container = document.getElementById(containerID);
_float = document.getElementById(floatID);
_float.onmouseover = function(){this.style.display = 'block';}
_float.onmouseout = function(){this.style.display = 'none';}
//三个区域的创建
_selectCity = document.createElement("div");
if(document.getElementById("result").getElementsByTagName("input").length == 0){
var s_h3 = document.createElement("h3"); s_h3.innerHTML = "选中城市:";
_selectCity.appendChild(s_h3);
}else{
_selectCity.innerHTML = document.getElementById("result").innerHTML;
var _input_s = _selectCity.getElementsByTagName("input");
for (var i = 0 ; i 950)
n = i.toString();
else
n = '0' + i.toString();
if(ja[n] == null) break;
else{
input[n] = document.createElement("input");
input[n].type = "checkbox";
input[n].value = n;
span[n] = document.createElement("span");
span[n].appendChild(input[n]);
span[n].appendChild(document.createTextNode(ja[n]));
_float.appendChild(span[n]);
}
}
check_in_select();
init_lay_event();
}
function init_lay_event(){
var _input_l = _float.getElementsByTagName("input");
for (var i = 0 ; i

我就是结果:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 根据IP的地址,区分不同的地区,查看不同的网站页面的js代码

    最近一直在忙着建站,可是做好之后,又感觉不是那么的尽如人意,还要有些许的调动,根据地区不同,而查看不同的网站页面,由于我生成的页面都是静态,着实有些为难的,以前也有发表过一些这方面的文章,但感觉还是挺麻烦的,况且也达不到令自己满意的效果,所以,在朋友的帮助下,找到一个比较方便的方法,就是把以下代码,加入我们自己需要跳转的页面里,这样做还是不错的呢! 复制代码 代码如下: <script src="http://counter.sina.com.cn/ip" type="

  • 基于json的jquery地区联动效果代码

    写这个东西的初衷是来之于新浪微博,在新浪微博帐号设置里面有个地区的选项,使用js写的,想把它的代码给截获下来,可是失望的是它的js代码压缩了,不过看到的里面json类型格式设计的挺好的,一般我们后台未做任何处理的json数据格式类似以下这样子的 [{"Code":3231,"Name":"长春市"}, {"Code":3232,"Name":"吉林市}] 如果有一万个地区,会多出几万个字符,这么奢

  • .net采用ajax实现邮箱注册和地区选择实例

    本文实例讲述了.net采用ajax实现邮箱注册和地区选择的方法.分享给大家供大家参考.具体实现方法如下: 首先要知道Ajax是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. ajax就是在浏览器上同服务器实现异步交互.在XMLhttpRequest被广泛使用之前,用户停留在页面上没有办法实现局部更新的功能,只能通过刷新整个页面来获取最新的数据,而由此代码的代价是需要传输大量的数据,而且有可能临时的一些用户信息也会丢失,而ajax的使用实现了局部更

  • 中国地区三级联动下拉菜单效果分析

    因为最近有需要用到中国地区三级联动下拉菜单,虽然用公司的框架已经实现,但是看的比较迷茫,就网上找了下相关代码,主要的数据和功能实现都是在js文件中,网上找的地区数据有的地方不完整,需要自己添加,虽然和公司的框架实现的代码不一样,还是先把代码放上了,以后需要的时候可以看看,大家也可以看看! 1.首先是js文件(area.js): 复制代码 代码如下: function Dsy() { this.Items = {}; } Dsy.prototype.add = function(id,iArray

  • PHP根据IP判断地区名信息的示例代码

    看代码 复制代码 代码如下: <?php header("Content-type: text/html; charset=utf-8"); function getIP(){ if (isset($_SERVER)) { if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { $realip = $_SERVER[HTTP_X_FORWARDED_FOR]; } elseif (isset($_SERVER[HTTP_CLIENT_IP]))

  • 轻松实现Android仿淘宝地区选择功能

    最近用淘宝客户端的时候,编辑地址的时候有个地区选择的功能.看上面的效果觉得挺酷,滚动的时候,是最后一个从下面飞上来挨着前一个.就自己鼓捣一个出来玩玩. 说了效果可能不太直观,下面上两张图看看效果 淘宝地区选择效果 再来一张自己的效果 gif的效果可能不太好,大家自己用Android手机打开淘宝看看 实现分析 展示很简单,ListView就可以了.对于动画效果,只需要在getView的时候获取到要展示的View,通过属性动画修改translationY就ok啦.由于地区选择是一个界面,所以这里还用

  • jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名

    复制代码 代码如下: <html> <head> <title>jquery demo</title> <script type="text/javascript" src="http://img.jb51.net/jslib/jquery/jquery-1.3.2.min.js"></script> <script type="text/javascript">

  • 封装好的省市地区联动控件附下载

    所有的地址数据都放在js文件里面,调用该控件的方法很简单: <script type="text/javascript">  var area = new AreaCtrl("省份:","城市:","地区:");  area.write(); </script> AreaCtrl 类最多有3个参数,如上例的"省份","城市","地区",这里的文

  • Nginx geoip模块实现地区性负载均衡

    相信做过awstats的都用过开源的geoip.dat  ip数据库,刚好nginx wiki上有geoip 模块,这样就可以实现地区性的负载均衡,但是maxmind 的ip数据库对中国的支持不算太好,不过现在也不错了~ 参考文章:http://wiki.nginx.org/NginxHttpGeoIPModule 说下我的环境,我有一台美国linux 服务器,一台美国的windows 2003 ,一台本的XP.机器,其他测试用户都是,QQ群里的朋友,好了开始测试 linux : 75.125.

  • 身份证号码前六位所代表的省,市,区, 以及地区编码下载

    在我上一篇文章里面,讨论了如何验证15,18位身份证号码的合法性,并能取得一些简单的信息, 比如:身份,生日,性别等. 现在,可以取城市和地区了. 复制代码 代码如下: <script language="javascript">  // 地区代码实在太大了,我这里只贴出 北京,上海,广州的代码,完整国内地区编码请下载附件 // Go_Rush(阿舜)  from http://ashun.cnblogs.com/  var areaCode={      '11':'北京

随机推荐