2013-11-21 48 views
0

所有, 我有以下代碼:如何設定變數的另一個函數使用jQuery

jQuery('#posts-container-infinite').infinitescroll({ 
     navSelector : "div.pagination", 
         // selector for the paged navigation (it will be hidden) 
     nextSelector : "a.pagination-next", 
         // selector for the NEXT link (to page 2) 
     itemSelector : "div.post", 
         // selector for all items you'll retrieve 
     errorCallback: function() { 
      jQuery('#posts-container').isotope('reLayout'); 
     },   
     path: function(){ 
      desturl = ''; 
      return desturl; 
     } 
    } 

我點擊一個鏈接,做一些過濾的同位素。這段代碼是這樣的:

jQuery('.blog-tabs a').click(function(e){ 
    e.preventDefault(); 
    var selector = jQuery(this).attr('data-filter'); 
    $container.isotope({ filter: selector }); 
}); 

有我click函數內的方式來設置我的功能jQuery('#posts-container-infinite').infinitescroll({desturl變量?

謝謝!

+3

Hmm..how有關創建一個全局變量訪問和改變變量該點擊功能的變化,並將'desturl'設置爲該變量? – tymeJV

+0

同意。我認爲在另一種方法中影響私有變量的價值是不可能的,也不應該是這樣。 – dckuehn

回答

1

嘗試

var desturl =''; //create a variable desturl here 
jQuery('#posts-container-infinite').infinitescroll({ 
    navSelector: "div.pagination", 
    nextSelector: "a.pagination-next", 
    itemSelector: "div.post", 
    errorCallback: function() { 
     jQuery('#posts-container').isotope('reLayout'); 
    }, 
    path: function() { 
     return desturl; //use value here 
    } 
} 
jQuery('.blog-tabs a').click(function (e) { 
    e.preventDefault(); 
    var selector = jQuery(this).attr('data-filter'); 
    $container.isotope({ 
     filter: selector 
    }); 
    desturl='test'; //assign value here 
}); 
1

這是基本的變量範圍。已經在函數中聲明的變量只能在該函數塊(或子函數)中使用。聲明在塊級別您的每一個需要的功能使用該變量的變量有:

var desturl; 

jQuery('#posts-container-infinite').infinitescroll({ 
     navSelector : "div.pagination", 
         // selector for the paged navigation (it will be hidden) 
     nextSelector : "a.pagination-next", 
         // selector for the NEXT link (to page 2) 
     itemSelector : "div.post", 
         // selector for all items you'll retrieve 
     errorCallback: function() { 
      jQuery('#posts-container').isotope('reLayout'); 
     },   
     path: function(){ 
      desturl = ''; 
      return desturl; 
     } 
    } 

jQuery('.blog-tabs a').click(function(e){ 
    e.preventDefault(); 
    var selector = jQuery(this).attr('data-filter'); 
    $container.isotope({ filter: selector }); 
}); 

這樣做,你可以在這兩個函數

+0

它適合你嗎? – Alex

相關問題