Я хочу изменить ширину элемента, чтобы сделать простую анимацию вот код:Крошка вопрос о закрытии JavaScript
function mysildeDown(elem) {
var fullw = parseInt(getStyle(elem, 'width'));
elem.style['width'] = 0;
for (var j=0; j < 100; j++) {
(function() {
**var i=j;**
setTimeout(function() {
elem.style['width'] = (i/100) * fullw + 'px';
}, (i + 1) * 10);
})();
}
}
// функция GetStyle не проблема
Интересно, почему я должен use var i = j, Большое спасибо
Увольнение 100 тайм-аутов - это не оптимальный способ сделать анимацию. Вы можете использовать рекурсию таймаута: начальный тайм-аут вызывает больше тайм-аутов до достижения цели анимации. –
Я чувствую, что вы читаете книгу Джона Ресига «Pro JavaScript Techniques». – qwertymk