我创建了一个函数,但后来意识到我必须用两个不同的参数调用它三次,所以我决定创建两个不同的数组并修改函数,以便调用一次。修改后的功能它不起作用,所以我不知道发生了什么。那就是:在函数中传递数组
function scrll(selector,speed){
for (var i = 0; i < selector.length; i++){
var findIt = '.find("a")';
var selected = selector[i];
selected += findIt;
selected.click(function(e) {
e.preventDefault();
var section = $(this).attr("href");
$("html, body").animate({
scrollTop: $(section).offset().top - 54
},speed[i]);
});
};
};
var selector = ['$(".navbar")','$(".click")','$("#foot")'];
var speed = [2000,1000,2000];
scrll(selector,speed);
这里是一个的jsfiddle例如:http://jsfiddle.net/theMugician/31fws6kd/16/
的可能重复[JavaScript的闭包内环路 - 简单实用的例子(http://stackoverflow.com/questions/750486/javascript-closure-inside-loops -simple-practical-example) – Scimonster 2015-02-09 19:34:48
你的问题是什么? – bhspencer 2015-02-09 19:37:14
'selected'这里是一个字符串。它没有'click()'方法。 – JLRishe 2015-02-09 19:37:31