Я создал функцию, но затем понял, что мне пришлось называть ее три раза с двумя разными параметрами, поэтому я решил создать два разных массива и изменить функцию так, чтобы ее вызывали один раз. После изменения функции он не работает, поэтому я не уверен, что происходит. Вот оно:Передача массивов в функции
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 -простой-практический пример) – Scimonster
В чем вопрос? – bhspencer
'selected' вот строка. У него нет метода 'click()'. – JLRishe