2012-01-12 80 views
1

聲明:JS非常業餘,我只是知道如何操縱它...將封裝函數放置在其他腳本中的位置?

所以我有兩個jQuery腳本運行。其中一個防止使用後其他人正常工作。我記得前一次發生這種情況時,我必須封裝其中的一個,然後在下一個執行它。

的封裝代碼:

var setUpScroll = function(){ 
     $(document).ready(function() { 

     $("body").niceScroll(); // The document page (body) 
     $("#mid-col-main-inner").niceScroll(); // Second scrollable DIV 

     }); 
    }; 
    setUpScroll(); 

的其他代碼(isotope.js)

$(function(){ 

    var $container = $('#mid-col-main-inner'); 

    $container.isotope({ 
    itemSelector : '.sbox' 
    }); 


    var $optionSets = $('#options .option-set'), 
     $optionLinks = $optionSets.find('a'); 

    $optionLinks.click(function(){ 
    var $this = $(this); 
    // don't proceed if already selected 
    if ($this.hasClass('selected')) { 
     return false; 
    } 
    var $optionSet = $this.parents('.option-set'); 
    $optionSet.find('.selected').removeClass('selected'); 
    $this.addClass('selected'); 

    // make option object dynamically, i.e. { filter: '.my-filter-class' } 
    var options = {}, 
     key = $optionSet.attr('data-option-key'), 
     value = $this.attr('data-option-value'); 
    // parse 'false' as false boolean 
    value = value === 'false' ? false : value; 
    options[ key ] = value; 
    if (key === 'layoutMode' && typeof changeLayoutMode === 'function') { 
     // changes in layout modes need extra logic 
     changeLayoutMode($this, options) 
    } else { 
     // otherwise, apply new options 
     $container.isotope(options); 
    } 

    return false; 
    }); 


}); 

任何人都知道我需要把setUpScroll?如果這能解決它?請讓我知道是否需要包含任何其他信息。

編輯:無視封裝信息。無論如何,這些腳本之間的交互不正確......

+0

我看不出有什麼理由你需要做的使用'setUpScroll()'封裝。它已經封裝在'$(document).ready()'中。您在調試控制檯或錯誤控制檯中看到了哪些JS錯誤?什麼不起作用? – jfriend00 2012-01-12 01:45:03

+0

也許現在不是那樣?這裏是網頁:http://nerdi.net/playground/kev選擇最左邊的列按鈕排序/動畫與同位素。好的滾動js開始後,真的很棘手。 – elzi 2012-01-12 01:54:45

+0

我沒有看到或理解該頁面無法正常工作。請描述人們如何引發並更詳細地瞭解問題。請記住,我們不知道您的網站或知道預期的行爲。 – jfriend00 2012-01-12 01:59:22

回答

0

除非您想多次調用它,否則不需要創建setUpScroll函數。

我認爲你正在嘗試做的是這樣的:

(function($) { //jQuery will map to $ now 
    self.setUpScroll = function(){ 
     $(document).ready(function() { 

      $("body").niceScroll(); // The document page (body) 
      $("#mid-col-main-inner").niceScroll(); // Second scrollable DIV 

     }); 
    }; 
    setUpScroll(); 
})(jQuery); // <-- pass jQuery to your anonymous function 
+0

這是什麼意思? 'setupScroll()'是根本不需要的。 – jfriend00 2012-01-12 03:29:20

+0

是的,如果你沒有閱讀OP的評論,很抱歉,jfriend00幫助推斷出這不是那個。有趣的是 - 首先加載頁面http://nerdi.net/playground/kev,然後點擊「類型」鏈接 - 你可以滾動罰款。但不是第三個,或着陸頁上,或之後的任何內容。很奇怪。 – elzi 2012-01-12 05:06:05

+0

是啊,生病只是離開我的答案,但看到評論它不回答你想要的東西 – jermel 2012-01-13 01:43:15

相關問題