2011-11-25 60 views
-7

聯合,我想運行這兩個腳本..需要這兩個JavaScript的

var myScroll; 
function loaded() { 
    myScroll = new iScroll('wrapper', { scrollbarClass: 'myScrollbar' }); 
} 

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false); 

document.addEventListener('DOMContentLoaded', loaded, false); 

我想除了上面下面是什麼添加此。

var myScroll; 

function loaded() { 
myScroll = new iScroll('wrapper', { 
    snap: true, 
    momentum: false, 
    hScrollbar: false, 
    onScrollEnd: function() { 
     document.querySelector('#indicator > li.active').className = ''; 
     document.querySelector('#indicator > li:nth-child(' + (this.currPageX+1) + ')').className = 'active'; 
    } 
}); 
} 

document.addEventListener('DOMContentLoaded', loaded, false); 
+2

什麼當你把他們發生 –

+0

以上不工作 – dave

回答

2

不能創建兩個變量具有相同的名稱,或者兩個函數具有相同的名稱 - 不是在同一範圍內,無論如何。但是,您可以將兩個loaded()函數的主體合併爲一個函數。 (或者你可以將其重命名loaded1loaded2並分別給他們打電話,但我不會這麼做的。)

我不知道什麼myScroll變量用於 - 在你的代碼已經表明它被分配一個值,但從未使用。如果您從未使用過,請將其刪除(並直接撥打new iScroll();,而無需將返回值分配給任何內容。如果您使用它,則必須重命名一個或兩個變量,以免它們發生衝突。所以:?!

var myScroll1, 
    myScroll2; 

// combined function 
function loaded() { 
    // statement from the first function 
    myScroll1 = new iScroll('wrapper', { scrollbarClass: 'myScrollbar' }); 

    // statement from the second function 
    myScroll2 = new iScroll('wrapper', { 
     snap: true, 
     momentum: false, 
     hScrollbar: false, 
     onScrollEnd: function() { 
      document.querySelector('#indicator > li.active').className = ''; 
      document.querySelector('#indicator > li:nth-child(' + 
         (this.currPageX+1) + ')').className = 'active'; 
     } 
    }); 
} 

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false); 

document.addEventListener('DOMContentLoaded', loaded, false);  
+0

由於我是新來的JavaScript和欣賞的幫助。 – dave