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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值