2016-07-07 107 views
0

我在頁面上有標籤,這給我帶來麻煩。我認爲這是在js代碼中。有時你必須雙擊標籤,有時候你不會。必須雙擊標籤才能獲取標籤內容

這是在Rails中使用HAML,我不太瞭解它。我也沒有寫出原始代碼。我正在接管一個項目。

下面是代碼: HAML

#myTabs 
%ul.tab-buttons.tab-buttons--boxed.tab-buttons--left.js-tabs.nav-tabs 
    %li.active.tab-button 
    %a#tab1.tab-button-link.active{"data-toggle" => "tab", "data-projects" => "not_archived"} Current Projects 
    %li.tab-button 
    %a#tab2.tab-button-link{"data-toggle" => "tab", "data-projects" => "archived"} Archived Projects 

.tab-content 
#tab1C.container 
    %ul.list-project 
    = render @projects 
#tab2C.container 
    %ul.list-project 

JS

$('.js-tabs li a:not(:first)').addClass('inactive'); 
    $('.container').hide(); 
    $('.container:first').show(); 

    $('.js-tabs li a').click(function(){ 
    var that = this; 
    var t = $(that).attr('id'); 
    $.get("/projects", {projects: $(that).data("projects")}, function(){},'json') 
     .done(function(data){ 
     var projects = data.projects; 
     if($(that).hasClass('inactive')){ 
      $(that).removeClass('inactive'); 
      $(that).addClass('active'); 
      $('#'+t+'C .list-project').html(projects); 
      $('.container').hide(); 
      $('#'+ t + 'C').fadeIn('slow'); 
     } else { 
      $(that).removeClass('active'); 
      $(that).addClass('inactive'); 
      $('#'+t+'C .list-project').html(projects); 
      $('.container').hide(); 
      $('#'+ t + 'C').fadein('slow'); 
     }; 
     $('.open-popup-link').magnificPopup(magnificPopupOptionsPermissionEmail); 
     }) 
    }); 

我試圖表明在codepen代碼,但它沒有精確地示出。 Codepen

回答

1

您是否發現如果您剛剛進入頁面,則必須雙擊,但如果刷新頁面,則只需單擊一下?

如果是這樣,那麼turboloading可能是問題。常見的修復如下:

var ready; 
ready = function() { 
    // add your functions and calls here 
} 
$(document).ready(ready); 
$(document).on('page:load', ready); 
+0

不幸的是,它不在頁面加載。它看起來更像是標籤顯示在一次點擊上,然後內容顯示在第二次點擊。 – LaFrish

+0

我在某些瀏覽器中遇到的另一個問題是,如果內容嘗試同時加載,它有時不起作用。我不得不添加10毫秒的延遲,以確保一切正常移動。你可以在這裏找到更多:http://stackoverflow.com/questions/17883692/how-to-set-time-delay-in-javascript – Okomikeruko