`
yatou_0209
  • 浏览: 37752 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

jQuery 仿百度地图中的城市列表

阅读更多
// JavaScript Document
/*
*/
(function($) {
	
	$.selectSort = function(options){install(options)};
	//各种属性
	$.selectSort.defaults = {
			title:"",//显示的标题
			divClass: "", // 显示的div
			clickClass:"",//判断你点击的class
			obj: "", // 你要查询json的对象
			name: "", // obj下的name
			value: "", // obj下的value
			okEvent: function (){},//关闭层之后调用的方法,也可不写。
			divBox: false //true就显示,false就不显示. 默认false
		}
	function install(options){
		// 合并参数
		var options = $.extend($.selectSort.defaults, options);
		//页面显示
		$(options.divClass).slideDown(500);
		var proList = "";
		var html = "";
		var divBox ="";
		var shopSort ="";
		var title ="";
		if(options.divBox == true){
			divBox = "<div class='cityTitle'><span class='fl'>"+options.title+"</span><img src='../images/closed.gif' class='showImg'/></div><div class='proList'></div><ul class='proEngAll'><li><a href='javascript:void(0)' class='anchor'>A</a></li><li><a href='javascript:void(0)' class='anchor'>B</a></li><li><a href='javascript:void(0)' class='anchor'>C</a></li><li><a href='javascript:void(0)' class='anchor'>F</a></li><li><a href='javascript:void(0)' class='anchor'>G</a></li><li><a href='javascript:void(0)' class='anchor'>H</a></li><li><a href='javascript:void(0)' class='anchor'>J</a></li><li><a href='javascript:void(0)' class='anchor'>L</a></li><li><a href='javascript:void(0)' class='anchor'>N</a></li><li><a href='javascript:void(0)' class='anchor'>Q</a></li><li><a href='javascript:void(0)' class='anchor'>S</a></li><li><a href='javascript:void(0)' class='anchor'>X</a></li><li><a href='javascript:void(0)' class='anchor'>Y</a></li><li><a href='javascript:void(0)' class='anchor'>Z</a></li></ul><div class='proEngSort'></div>";
		}else{
				divBox ="<div class='cityTitle'><span class='fl'>"+options.title+"</span></div>"+title+"<div class='shopSort'></div>";
		}
		$(divBox).appendTo(options.divClass);
		var objN = eval("(" + options.obj + ")");
		for(n in objN) {
			html += '<dl>';
			html += '<dt>';
			html += "<a href='javascript:void(0);' class='city_"+objN[n][options.name][0]+"'>"+objN[n][options.name][1]+":</a>";
			shopSort  += "<h3>"+objN[n][options.name][1]+":</h3>";
			html += '</dt>';
			html += '<dd>';
			for(var j = 0; j < objN[n][options.value].length; j ++) {
				html += '<a href="javascript:void(0);" id="'+objN[n][options.value][j][0]+'">' + objN[n][options.value][j][1] + '</a>';
				shopSort += '<a href="javascript:void(0);" id="'+objN[n][options.value][j][0]+'">' + objN[n][options.value][j][1] + '</a>';
			}
			html += '</dd>';
			html += '</dl>';
			proList +='<a href="javascript:void(0);" id="city_'+objN[n][options.name][0]+'_'+n+'">' + objN[n][options.name][1]+ '</a>';	
		}
		//把得到的值,放到指定的div中去
		$(html).appendTo(".proEngSort");
		$(proList).appendTo(".proList");
		$(shopSort).appendTo(".shopSort");
			/*关闭*/
		$(".showImg").hover(function(){
			$(this).attr("src","../images/close.gif");
		},function(){
			$(this).attr("src","../images/closed.gif");
		}).click(function(){
			$(options.divClass).slideUp().empty();
			return false;
		});
		$(".proEngSort a,.proList a,.shopSort a").bind("click",function(){
			var proCity = $(this).html();//市
			var proId = $(this).attr("id");
			$(options.clickClass).val(proCity);
			$("#proId").val(proId);//获得value值。
			$(options.divClass).slideUp("fast", options.okEvent).empty();//绑定事件,用于获得值后触发,
		});
		/*处理ABC*/
		$(".anchor").live("click",function(){
			$(".proEngSort").scrollTop(0);
			var anchorText = $(this).text();
			if($(".city_"+anchorText).length > 0){
				var pos =  $(".city_"+anchorText).offset().top;
		        var poshigh = $(".cityTitle").height();
			    $(".proEngSort").animate({ scrollTop: pos-poshigh-120},0);  
			}
                     return false;
		});
		/*点击任何地方关闭层*/
//		$(document).click(function(event) {
//			if ($(event.target).attr("id") != "allSortVal") {
//				$(options.divClass).hide();
//			}
//		});
	}
})(jQuery);

分享到:
评论
2 楼 catmimigo 2012-05-04  
能不能提供demo啊?
1 楼 demojava 2012-02-29  
....犀利。。。

相关推荐

    jQuery实现百度地图api选择城市地图效果

    - 调用百度地图API的城市列表控件,将结果填充到选择器中。 - 监听选择事件,当用户选择城市后,更新地图的中心点和标题。 4. **地图交互**: - 用户在地图上点击时,可以显示当前位置的标记和信息窗口。 - ...

    百度地图不实例化地图获取城市商圈列表

    这篇内容主要涉及了如何在不实例化地图的情况下,获取并显示百度地图中的城市商圈列表。这通常用于用户选择地理位置或者进行定位服务时提供方便的筛选选项。 首先,我们需要了解百度地图API。百度地图API是一款强大...

    jquery省自治区城市地图代码.zip

    当用户点击地图上的省份时,JavaScript会捕获这个事件,并通过ECharts的API更新地图的状态,可能包括改变某些城市的颜色或者显示城市列表。为了实现这一功能,开发者需要编写一个函数,该函数根据省份ID获取对应的市...

    百度地图map

    【描述】:描述中提到的“基于jQuery的百度地图”,意味着开发人员使用了JavaScript库jQuery来简化DOM操作和事件处理,使得代码更加简洁高效。jQuery与百度地图API的结合,能够轻松实现地图的加载、缩放、平移等基本...

    jQuery中国省份地图显示+三级联动代码

    这通常涉及到SVG地图或者第三方地图API,如百度地图API、高德地图API等。通过API提供的方法,可以设置地图上的特定区域为选中状态。 8. **样式和交互**:为了让用户有更好的视觉体验,我们需要添加适当的CSS样式,...

    利用百度地图开源数据构建省市区三级联动下拉框

    本篇将介绍如何利用百度地图的开源数据来实现这个功能。 首先,我们需要了解百度地图的开放API和数据资源。百度地图提供了丰富的地图服务,包括地理编码、反地理编码、路线规划等,同时也提供了部分开源的数据。在...

    Html5如何唤起百度地图App的方法

    在本文中,我们将探讨如何使用HTML5来唤起百度地图应用程序,特别是在混合式开发场景下。混合式开发是指使用HTML5、CSS3和JavaScript等Web技术构建应用,并将其嵌入到iOS和Android原生环境中。当用户点击导航按钮时...

    JS开发中百度地图+城市联动实现实时触发查询地址功能

    在JS开发中,结合百度地图API和jQuery,可以创建一个实时触发查询地址的功能。这个功能主要是为了实现根据省市区及详细地址的输入,为用户提供精确的路径查询服务。以下是实现这个功能的详细步骤: 首先,我们需要...

    如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)

    首先,需要通过`&lt;script&gt;`标签引入百度地图API以及可能依赖的其他JavaScript库(如jQuery)。然后,通过HTML表单元素让用户输入起始和目的地的城市信息。 ```html ***" type="text/javascript"&gt; ``` 在JavaScript...

    百度地图api应用标注地理位置信息(js版)

    8. **地图标注**:虽然在给定的代码中没有直接涉及到地图标注,但百度地图API支持添加标注(`BMap.Marker` 对象)。你可以创建新的标注对象,设置其坐标,然后添加到地图上,用于标记特定的位置。 9. **自定义功能...

    里面近50个常用HTML模板,包含视频全屏前景,时间日历控件,弹出窗,覆盖层,百度地图,抽奖转盘等样式,商城源码,地市高校多级联动,各种图片滑动特效等

    "百度地图"集成是将地图服务嵌入到网页中的功能,这通常需要调用百度地图API,通过JavaScript进行坐标定位、地图显示、标注添加等操作。 "抽奖转盘"是一个互动游戏元素,常用于促销活动,其背后的实现可能包括...

    基于H5开发仿大众点评app

    地图API,比如百度地图或高德地图,可能被集成来实现位置服务和导航功能。此外,为了模拟大众点评的评论系统,开发者可能使用了本地存储或Web Storage API来保存和加载用户生成的数据。 总之,这个项目是一个很好的...

    收货地址全国省份城市市区街道四级联动

    同时,它也可以结合地图API,如百度地图或高德地图,实现更丰富的交互效果,如自动完成、地图预览等功能。 总的来说,实现"收货地址全国省份城市市区街道四级联动"是一项涉及前端、后端和地理信息处理的技术任务,...

    e龙旅行城市选择插件车票预定城市选择

    2. **地理位置API**:为了提供准确的城市数据,插件可能集成了地理信息系统(GIS)的API,如高德地图或百度地图,用于获取和展示城市的经纬度信息以及城市列表。 3. **AJAX异步请求**:在用户输入城市名称时,插件...

    省市级联完整代码

    通过AJAX异步请求获取服务器上的数据,根据用户的选择动态更新城市列表。HTML和CSS则用于构建UI界面和样式。 3. **后端技术**:后端需要提供API接口,接收前端的请求并返回相应的省份或城市数据。这可能涉及到PHP、...

    echarts地图json

    它由百度公司开发,提供了丰富的图表类型,包括柱状图、折线图、饼图以及地图等,并支持多种交互功能和自定义样式。本知识点将详细介绍如何利用 ECharts 实现地图 JSON 数据的展示及其相关功能。 1. **ECharts 地图...

    类似51job的城市选择器

    - 用户体验(UX):一个好的城市选择器应该直观易用,提供搜索功能以便快速找到目标城市,并能通过点击或滑动浏览城市列表。 - 响应式设计:考虑到不同设备的屏幕大小,选择器需要适应各种分辨率,确保在手机和...

    检测ip和地区

    总结一下,本文介绍了如何利用JavaScript和jQuery结合第三方服务(如FreeGeoIP和百度地图)来获取用户IP和所在城市的信息,这在Web开发中对于提升用户体验和实现特定功能具有重要意义。同时,我们还探讨了如何通过...

    citySelector-master.zip

    - 数据可能是静态JSON文件,也可能是通过API动态获取,例如调用高德地图、百度地图等提供的接口。 - 使用axios或其他HTTP库来处理网络请求。 5. **搜索功能**: - 城市选择器可能支持输入关键字快速查找城市,这...

Global site tag (gtag.js) - Google Analytics