Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   упростить запись (https://javascript.ru/forum/misc/10988-uprostit-zapis.html)

chippolino 31.07.2010 19:17

упростить запись
 
уважаемы подскажите как это записать рациональней:
function $(a){return document.getElementById(a)};
i=0;
setInterval(
	function(){
		a=['.','..','...','....','.....'];
		(i<a.length)?$('p1').innerHTML=a[i++]:i=0;
	}
,500);

как-то нужно сопоставить количество '.' c 'i';
т.е.
.=1
..=2
...=3
и тд
но как это не могу вкурить... нужен ваш help!
спасибо.

Gvozd 31.07.2010 19:36

цикл, что тут непонятного?

chippolino 31.07.2010 19:56

логически я понимаю, что это цикл, но применить его не хватает соображалки))

Gvozd 31.07.2010 20:15

chippolino,
наверно тебе не хватает этого?
http://javascript.ru/string-operators
иначе, не знаю, почему у етбя проблемы возникают

JsLoveR 31.07.2010 21:22

chippolino, ну Вы даёте)
var c=setInterval(
    function(){
        var a=['.','..','...','....','.....'],b="";
		for(var i=0;i<a.length;i++)
		{
			b=a[i]+" = "+(i+1);
			alert(b);
			clearTimeout(c);
		}
    }
,500);

chippolino 31.07.2010 21:34

JsLoveR, я наверно не так выразился - надо без массива,
чтоб точек было произвольное количество;
но я уж и сам разобрался и даже без циклов:
window.onload=(function(){

	function $(a){return document.getElementById(a)};

	d1='.'; b='';
	setInterval(
		function(){
			$('p').innerHTML = '';
			/^[\.]{10}$/.test( b += d1 ) ? b = '' : $('p').innerHTML = b;
		}
	,100);	
	
});

PS: sorry за корявую постановку вопроса;)

JsLoveR 31.07.2010 21:36

chippolino, главное, что сами сделали)

PeaceCoder 31.07.2010 21:44

Что бы были здоровы программисты, так пишущие простые задачи =)
<p id='p'></p>
<script type='text/javascript'>
window.onload = (function(){ 

    function $(a){return document.getElementById(a)};
 
    var t='';
    setInterval(
        function(){
            $('p').innerHTML = (t+='.').length>10 ? (t='') : t;
        }
    ,100); 
     
});
</script>

chippolino 31.07.2010 22:00

всем спасибо!

Riim 01.08.2010 12:17

Цитата:

Сообщение от PeaceCoder
t=''

лучше сразу с одной точки начинать, иначе, когда ничего нет, все что ниже поднимается, короче дергается все.


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