Если у меня есть 300 функций, как это:Конкатенация функций javascript?
function name1() {
alert("1");
}
function name2() {
alert("2");
}
function name3() {
alert("3");
}
Etc весь путь до 300, как я мог бы объединить это все в одной функции, потому что они настолько похожи, хотя каждый из них действительно есть небольшие различия?
UPDATE:
К сожалению, я использовал пример функции, потому что я не думаю, что было бы важно, чтобы положить мой длинный код в вопросе, но я думаю, что это важно сейчас, вот реальные функции:
function event() {
//paths
var path = document.querySelector('#container #path');
var length = path.getTotalLength();
console.log(path.getTotalLength());
// Clear any previous transition
path.style.transition = path.style.WebkitTransition =
'none';
// Set up the starting positions
path.style.strokeDasharray = length + ' ' + length;
path.style.strokeDashoffset = length;
// Trigger a layout so styles are calculated & the browser
// picks up the starting position before animating
path.getBoundingClientRect();
// Define our transition
path.style.transition = path.style.WebkitTransition =
'stroke-dashoffset 0.4s linear';
// Go!
path.style.strokeDashoffset = '0';
document.getElementById("container").style.visibility = "visible";
};
function event2() {
//paths
var path2 = document.querySelector('#container2 #path_2');
var length = path2.getTotalLength();
console.log(path2.getTotalLength());
// Clear any previous transition
path2.style.transition = path2.style.WebkitTransition =
'none';
// Set up the starting positions
path2.style.strokeDasharray = length + ' ' + length;
path2.style.strokeDashoffset = length;
// Trigger a layout so styles are calculated & the browser
// picks up the starting position before animating
path2.getBoundingClientRect();
// Define our transition
path2.style.transition = path2.style.WebkitTransition =
'stroke-dashoffset 0.45s linear';
// Go!
path2.style.strokeDashoffset = '0';
document.getElementById("container2").style.visibility = "visible";
};
function event3() {
//paths
var path3 = document.querySelector('#container3 #path_3');
var length = path3.getTotalLength();
console.log(path3.getTotalLength());
// Clear any previous transition
path3.style.transition = path3.style.WebkitTransition =
'none';
// Set up the starting positions
path3.style.strokeDasharray = length + ' ' + length;
path3.style.strokeDashoffset = length;
// Trigger a layout so styles are calculated & the browser
// picks up the starting position before animating
path3.getBoundingClientRect();
// Define our transition
path3.style.transition = path3.style.WebkitTransition =
'stroke-dashoffset 0.4s linear';
// Go!
path3.style.strokeDashoffset = '0';
document.getElementById("container3").style.visibility = "visible";
};
window.setTimeout(function() {
event();
}, 1);
window.setTimeout(function() {
event2();
}, 550);
window.setTimeout(function() {
event3();
}, 1100);
так что я должен был бы внести изменения в них, но большинство из него одно и то же, так как я сделал бы это дало этот код? Большое спасибо.
'имя функции (nr) {alert (nr); } '? – Sirko
, если вам действительно нужно сделать отдельные функции, которые я предполагаю, что вы этого не сделаете, вы можете использовать eval() в цикле, но вместо этого я бы использовал параметр – zgr024
. Это те фактические функции, которые вы используете? – Turnip