日期:2014-05-16  浏览次数:20399 次

多个图层的显示隐藏问题
求助,请问以下代码能怎么样简写?

function frshow_city(id){
   if(id==1){
$("#fromcity_div1").show();
$("#fromcity_div2").hide();
$("#fromcity_div3").hide();
$("#fromcity_div4").hide();
$("#fromcity_div5").hide();
$("#fromcity_div6").hide();
$("#tocity_div1").hide();
$("#tocity_div2").hide();
$("#tocity_div3").hide();
$("#tocity_div4").hide();
$("#tocity_div5").hide();
$("#tocity_div6").hide();
   }
   else if(id==2){
$("#fromcity_div1").hide();
$("#fromcity_div2").show();
$("#fromcity_div3").hide();
$("#fromcity_div4").hide();
$("#fromcity_div5").hide();
$("#fromcity_div6").hide();
$("#tocity_div1").hide();
$("#tocity_div2").hide();
$("#tocity_div3").hide();
$("#tocity_div4").hide();
$("#tocity_div5").hide();
$("#tocity_div6").hide();
   }
.......

------解决方案--------------------
一: 使用空格间隔 即可在一行选择 
$("#tocity_div2 #tocity_div3").show();

二: 给那写编号的区域都加个 class  例如 class='testClass'
 然后  $(".testClass").show();

三: 在那些区域外面 增加个 div  例如  <div id='testDiv'>   </div>
  然后 $("#testDiv").show();
------解决方案--------------------
试试数组~学的不精  
------解决方案--------------------
用一个变量保存以前显示的dom
var orgCity=null;
全部需要隐藏的写成一个函数
function hide_tocity(){
$("#tocity_div1").hide();
$("#tocity_div2").hide();
$("#tocity_div3").hide();
$("#tocity_div4").hide();
$("#tocity_div5").hide();
$("#tocity_div6").hide();
   };
function frshow_city(id){
if(orgCity)orgCity.hide();
orgCity = $("#fromcity_div"+id);
orgCity.show();
hide_tocity();
}

------解决方案--------------------
引用:
Quote: 引用:

function frshow_city(id){
    $([id^='fromcity_div']).hide();
    $('#fromcity_div' + id).show();