2011-11-25 79 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