2013-09-26 76 views
0

我無法讓jQuery在.load()函數中工作。jQuery不能在.load()中工作

該腳本將指定的頁面內容加載到#project div中,然後初始化flexslider,它工作正常。

問題是,我試圖添加箭頭來導航到下一個/上一個帖子,但是當然如果我將下面的第一個.load函數以外的箭頭放在.load函數中,代碼將不會工作。

我試着把它們放在下面的.load函數中,它對第一篇文章來說工作得很好。之後,所有的jQuery停止初始化(flexslider,甚至左/右箭頭點擊功能)。

這就像我必須做一個無限的.load()循環或其他東西。我希望我有道理,希望有人能夠提供幫助。這是我的工作,減去箭頭。

總結問題 ..有沒有辦法讓jQuery在.load()函數中工作,而無需在.load()中重新初始化它?

jQuery('.single-item, .portfolio-images article').click(function() { 
    var geturl = window.location; 
    var next_project = jQuery(this).attr('data-projectid'); 
    jQuery('html, body').animate({ scrollTop: 0 }, 500); 
    jQuery('#project').slideUp('slow'); 
    jQuery('#project').load(geturl + "?page_id=" + next_project + " .project", function() { 
     if (jQuery(this).hasClass('opened')) { 
      jQuery(this).slideDown(600); 
      jQuery('.flexslider').fadeIn(); 
     } else { 
      jQuery(this).slideDown(300); 
      jQuery('.flexslider').fadeIn(); 
     } 
     jQuery('.grid').click(function() { 
      jQuery('#project').slideUp(500); 
     }); 
     // Initialize Scripts 
     jQuery('.flexslider').flexslider({ 
      animation: "slide", 
      smoothHeight: true, 
      startAt: 0, 
     }); 
    }); 
    }).addClass('opened'); 
    return false; 
+0

'的getURL + 「?PAGE_ID =」 + next_project + 「的.project」'我認爲這是不正確。你爲什麼要添加'.project'?這應該是一個URI。 –

+0

你是否在說這段代碼沒有響應,如果是,那麼確保你把代碼放在'$(function(){// ...})中;' –

+0

沒有人,這是我現在的工作代碼。你可以在這裏看到它的作品:http://www.cadengrant.com/clear/。當你點擊圖片時,它會很好地加載內容,但箭頭不起作用。和@AlejandroIvan,.project是我正在加載到#project div的類。 –

回答

0

問題與事件,您可以在加載之前添加事件。

就像:

$(document) 
    .on("click", ".your-elements", function() 
    { 
     alert("code here"); 
    }); 

同樣的事情插件調用,如果你不能您的負載之前調用插件的構造函數,也許你需要所謂的「破壞」功能,構建再次插件。

請參見本fiddle例如