#javascript #jquery
Как скрыть див один за другим через javascript? Я сделал но чета не получается! $(document).ready(function() { setInterval(function(){ $('.div').hide(); next(); }, 1000); }); .div { width: 300px; margin: 10px; padding: 10px; background: #567; color: #fff; }Div 1Div 2Div 3Div 4Div 5
Ответы
Ответ 1
Можно сразу задать каждому элементу свой таймаут: function delayedHide(i,o) { setTimeout( function(){ $(o).hide(); }, 600 * (i + 1) ); } $(function() { $('.hideme').each( delayedHide); }); .hideme { width: 300px; margin: 10px; padding: 10px; background: #567; color: #fff; }Div 1Div 2Div 3Div 4Div 5Не удержался, переименовал класс..Ответ 2
А вот так это можно сделать без jQuery: function hideOne(elements, index) { if (index < elements.length) { elements[index].style.display = "none"; ++index; setTimeout(hideOne.bind(null, elements, index), 1000); } } function hide() { var elements = document.getElementsByClassName("div"); setTimeout(hideOne.bind(null, elements, 0), 1000); } .div { width: 300px; margin: 10px; padding: 10px; background: #567; color: #fff; }Div 1Div 2Div 3Div 4Div 5Можно сразу установить таймауты для скрытия всех div'ов: function hideOne(element) { element.style.display = "none"; } function hide() { var elements = document.getElementsByClassName("div"); for (var i = 0; i < elements.length; ++i) setTimeout(hideOne.bind(null, elements[i]), 1000 * (i + 1)); }
Комментариев нет:
Отправить комментарий