2017-06-05 69 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

相關問題