这个效果刚开始只想到了事件委托,jq里的delegate(selector,[type],[data],fn),可是做不出来。后来用了
江西 [切换地区]
*{margin:0; padding:0;} ul,li{list-style:none;} .city{ width: 130px; height: 25px; position: relative;}.myCity { position:absolute; top:30px; left:0;border: 2px solid #40a8f7;width: 570px;background: #fff;z-index: 99999999996;padding: 5px 10px 10px 10px;}.myCity ul li{ width: 100%; overflow: hidden;}.myCity ul li span { float: left;width: 30px;line-height: 21px;color: #40a8f7;font-weight: bold;margin-right: 10px;}.myCity ul li a { float: left;width: 48px;height: 21px;line-height: 21px;background: url(../images/new_index0306.png) no-repeat -133px -84px;;color: #666;padding-left: 10px;}.citySelect{ font-weight: bold;}.cityTab{ color: #333;}.cityTab:hover{ text-decoration: none;}
var timerTw=null; $(".cityTab").mouseenter(function(){ $(".myCity").show(); }).mouseleave(function(){ timerTw = setTimeout(function(){ $(".myCity").hide(); },300); }); $(".myCity").mouseenter(function(){ clearTimeout(timerTw); }).mouseleave(function(){ $(this).hide(); }); $(".myCity a").each(function(){ $(this).click(function(){ $(".citySelect").html($(this).text()); timerTw = setTimeout(function(){ $(".myCity").hide(); },300); }) })
//这是delegate方法,也可以实现,可是不明白为啥click换成hover就不行了。求遇到的大神指点……var cityTab=$(".cityTab"); $(".city").delegate('a','click',function(){ $(".myCity").slideToggle(); }); $(".myCity a").each(function(){ $(this).click(function(){ $(".citySelect").html($(this).text()); timerTw = setTimeout(function(){ $(".myCity").hide(); },300); }) })