бляха муха, ну что за писанина !
перед размещением кода, если хочешь, чтоы тебе помогли, оформляй его красиво! если не знаешь, что и как, то легче засунуть код сюда, на
jsbeautifier и нажать сверху на
Beautify JavaScript (или
ctrl+enter). потом оформленный код засовывай уже сюда.
это я к тому, что твой код невозможно читать.
вот твой код, оформленный через выше описанный инструмент. красным отмечена проблемная строка
function pr(pic) {
var piw = pic.width; //Ширина 500
var f = document.getElementById('d')
var p;
if (f.selectedIndex == 0) {
pr() = false;
}
if (f.selectedIndex == 1) {
p = 0.25
}
if (f.selectedIndex == 2) {
p = 0.5
}
if (f.selectedIndex == 3) {
p = 0.75
}
if (f.selectedIndex == 4) {
p = 1
}
var piwp = piw * p
var itog = piwp + piw
setInterval(function () {
if (itog > piw) {
*!*
piw += 10
*/!*
}
}, 10)
alert(piwp)
alert(piw)
alert(itog)
}
если ты сам не догадался, то ты увеличиваешь не ширину картинки, а
переменную. переменная то увеличивается, а ширина картинки - нет. делай присваивание, например, так (это та красная строка, только дополненная)
piw += 10
pic.width = piw;
и убедительно прошу, не забывай про
jsbeautifier
и еще : не забывай очищать интервал. ведь когда ширина картинки дойдет до предела, то интервал будет так же вызываться каждые 10мс.
сделать это можно так (твой код)
*!*id =*/!* setInterval(function () {
if (itog > piw) {
piw += 10;
pic.width = piw;
} else {
*!*clearInterval(id);*/!*
}
}, 10)