2017-06-05 77 views
0

我有一个标题菜单,我不希望添加在开关的情况下这样每个菜单链接,我怎么能做到这一点的动态...我需要这个代码动态地

var sections = $(".href a"); 
var content = $("#load"); 

sections.click(function(){ 
    switch(this.id){    
     case ('/p/settings/header-settings'): 
      $(content).load('/p/settings/header-settings #load'); 
      window.history.pushState('user', 'user', '/p/settings/header-settings'); 
      break; 
     case ('/p/settings/site-verifications'): 
      $(content).load('/p/settings/site-verifications #load'); 
      window.history.pushState('user', 'user', '/p/settings/site-verifications'); 
      break; 
     case ('/p/settings/analysis-settings'): 
      $(content).load('/p/settings/analysis-settings #load'); 
      window.history.pushState('user', 'user', '/p/settings/header-settings'); 
      break; 
     default: 
      $(content).load('/p #load'); 
      break; 
    } 
}); 
+0

您是否有一组特定的选项允许?或者应该允许的选项属于某种模式,比如'/ p/settings/*'或者其他? –

+0

没有任何特定的设置选项以允许... – d3esligner

+1

那么你如何决定什么属于默认情况? –

回答

1

直接传递与尊敬的地位,而不是开关。而ID做on()用于动态追加元素。其执行将取决于您的ID

var sections = $(".href a"); 
 
var content = $("#load"); 
 

 
sections.on('click', function() { 
 
    var id = this.id; 
 
    if(condition) //add with some false condition as you wish for go to default statement s 
 
{ 
 
    $(content).load('/p #load'); 
 
}else{ 
 
    $(content).load(id + ' #load'); 
 
    window.history.pushState('user', 'user', id); 
 
    } 
 
});

+1

如何用* default *选项死掉? – DontVoteMeDown

+0

如果'id'被定义,但不是在你不能说默认情况下'id'未定义的情况下 –

+0

@NadirLaskar我只是'!'为false语句添加define.not焦点主要是'id' undefined – prasanth

0

使用此JS而不是您的开关盒。如果您不担心默认情况

sections.click(function(){ 

    $(content).load(this.id+' #load'); 
    window.history.pushState('user', 'user', this.id); 

}); 

如果您还想照顾默认情况,那么您可以使用简化的开关情况,如下所示。

sections.click(function(){ 
    switch(this.id){    
     case ('/p/settings/header-settings'): 
     case ('/p/settings/site-verifications'): 
     case ('/p/settings/analysis-settings'): 

     //For more case just add here the below code remain same 

     $(content).load(this.id+' #load'); 
     window.history.pushState('user', 'user', this.id); 

     break; 
     default: 
      $(content).load('/p #load'); 
      break; 
    } 
}); 
+0

非常感谢,现在我也有一个问题。 \t $('#tabs')。tabs(); jquery选项卡在加载时不工作... – d3esligner