Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Расширяющийся блок. (https://javascript.ru/forum/misc/13667-rasshiryayushhijjsya-blok.html)

Gim 08.12.2010 17:32

Расширяющийся блок.
 
Нужно что бы при нажатии блок растягивался без остановки. Использую setInterval но функция работает лишь 1 раз при нажатии.
<div style="background:#000;height:25;width:25;" onClick="setInterval(this.style.width=parseInt(this.style.width)+50,100)"></div>
Ещё пытался сделать как показано ниже, но ничего не работает. Где ошибки и как всё сделать правильно?
function qwe(){this.style.width=parseInt(this.style.width)+50;setTimeout(qwe,100);}

monolithed 08.12.2010 18:06

<style type="text/css">
div {
    background: blue;
    position: absolute;
    color: white;
    text-align: center;
    width: 100px;
    height: 100px;
}
</style>

<script type="text/javascript">
window.onload = function(){
    var i = 0;
    (function(){
        if(++i <= 300){
           var element = document.getElementsByTagName('div')[0];
           element.style.width = i+'px';
           element.innerHTML = parseInt(i/3)+'%';
           setTimeout(arguments.callee, 10);
        }
    })();
};
</script>
<div></div>

Gim 08.12.2010 18:07

+1 Спасибо, сейчас буду пробовать =)

Gim 08.12.2010 20:17

Новая проблема: мне нужно находить по id
document.getElementsById('qwe');
Но это не работает.

UnderShot 08.12.2010 21:04

<style type="text/css">
div {
    background: blue;
    position: absolute;
    color: white;
    text-align: center;
    width: 100px;
    height: 100px;
}
</style>

<script type="text/javascript">
window.onload = function(){
    var i = 0;
    (function(){
        if(++i <= 300){
           var element = document.getElementById('qwe');
           element.style.width = i+'px';
           element.innerHTML = parseInt(i/3)+'%';
           setTimeout(arguments.callee, 10);
        }
    })();
};
</script>
<div id="qwe"></div>

Gim 09.12.2010 15:52

+1 Спасибо. Нашел свою ошибку. Когда я пытался так сделать, я просто не заметил что не убирал символ ElementsById :D хехе.


Часовой пояс GMT +3, время: 19:39.