У меня есть функция вычисления размеров изображения, которая возвращает масштабированные значения размеров изображения при его выполнении.(примечание: список изображений и их размеры доступны из массивов.)
function setDesiredDimensions() {
var width = Math.min(imagesOrigWidths[currindex], desiredWidthLimit);
var height = Math.ceil((width / imagesOrigWidths[currindex]) * imagesOrigHeights[currindex]);
some more calculation code here...
return {width:width,height:height};
}
var size = setDesiredDimensions(imagesOrigWidths[currindex], imagesOrigHeights[currindex]);
Затем у меня есть несколько кнопок в HTML:
<a id="button1"></a>
<a id="button2"></a>
<a id="button3"></a>
и различные события нажатия на этих кнопках, например:
$('#button1').click( function() {
currindex = (currindex+1) % max;
**I need to evaluate setDesiredDimensions function here **
$("#imageswap").attr({src: imgSrcBase(imagesGuids[currindex]), width: size.width, height: size.height})
});
Кнопки настраивают текущий индекс изображения в массиве, к которому мне нужно применить расчет размеров.НО: я не хочу, чтобы одна и та же функция setDesiredDimensions копировалась и вставлялась во все функции нажатия кнопок, а просто просто открываю / оцениваю ее как ярлык для более чистого кода.
Я слышал eval ();это опасно и медленно.Есть идеи?