У меня есть 3 (и более скоро) функции, которые каждый делает то же самое, но управляют разными перечисляемыми div/переменными, в зависимости от которых div запускается событие mousewheel. Мне любопытно, есть ли какие-либо трюки, чтобы сжать эти очень похожие немые функции в одну интеллектуальную функцию. Каждый дивизион нуждается в собственных #bigwrapperN
, #wrapperN
, opacityN
и colorcounterN
.Можно ли объединить эти подобные функции в одну функцию?
$('#bigwrapper1').mousewheel(function(event, delta, deltaX, deltaY) {
if (delta > 0) {
opacity1 = opacity1 + .05;
$('#wrapper1').css('background', "rgba("+colors[colorcounter1]+","+opacity1+")");
} else if (delta < 0) {
opacity1 = opacity1 - .05;
$('#wrapper1').css('background',"rgba("+colors[colorcounter1]+","+opacity1+")");
}
});
$('#bigwrapper2').mousewheel(function(event, delta, deltaX, deltaY) {
if (delta > 0) {
opacity2 = opacity2 + .05;
$('#wrapper2').css('background', "rgba("+colors[colorcounter2]+","+opacity2+")");
} else if (delta < 0) {
opacity2 = opacity2 - .05;
$('#wrapper2').css('background', "rgba("+colors[colorcounter2]+","+opacity2+")");
}
});
$('#bigwrapper3').mousewheel(function(event, delta, deltaX, deltaY) {
if (delta > 0) {
opacity3 = opacity3 + .05;
$('#wrapper3').css('background', "rgba("+colors[colorcounter3]+","+opacity3+")");
} else if (delta < 0) {
opacity3 = opacity3 - .05;
$('#wrapper3').css('background', "rgba("+colors[colorcounter3]+","+opacity3+")");
}
});
Это выглядит хорошо. Я проверю это. – DrewP84
Похоже, мне нужно использовать 'eval()' для создания имен динамических переменных, поскольку приведенный выше код не работает. Т.е., 'eval ('opacity' + i)' вместо 'opacity + 'i'' – DrewP84
@ DrewP84 Я не думаю, что нам нужно eval(). можете ли вы разместить свой код в [скрипке] (http://jsfiddle.net)? – Unknown