我想运行这两个脚本..
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);
答案 0 :(得分:2)
无论如何,您不能创建两个具有相同名称的变量,或两个具有相同名称的函数 - 不在同一范围内。但是您可以将两个loaded()
函数的主体组合到一个函数中。 (或者您可以将它们重命名为loaded1
和loaded2
并单独调用它们,但我不会这样做。)
我不知道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);