Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как ограничить количество элементов (списков <li>) массивов (https://javascript.ru/forum/dom-window/16296-kak-ogranichit-kolichestvo-ehlementov-spiskov-li-massivov.html)

Naum 02.04.2011 17:55

Как ограничить количество элементов (списков <li>) массивов
 
Добрый день !!!
Подскажите пожалуйста как ограничить количество элементов (в моем случае это списки <li>) массивов в js, на примере кода ниже, при условии что в html странице создан список с порядком 30 элементов а необходимо вывести на экран штук 10, проведя сортировку элементов(это уже есть), а всем остальным которые "не вошли в десятку" придать значение display:none ???

<script language="JavaScript" type="text/javascript">
Array.prototype.shuffle = function( b )
{
 var i = this.length, j, t;
 while( i )
 {
  j = Math.floor( ( i-- ) * Math.random() );
  t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
  this[i] = this[j];
  this[j] = t;
 }
 return this;
};
  
      function ty()
      { 
       var li=document.getElementsByTagName('li');
       var text=new Array()
       for (i=0;i<li.length;i++)
           { text[i]=li[i].innerHTML;
           }

       var text1=text.shuffle();

       for (i=0;i<text1.length;i++)
           {
             li[i].innerHTML=text1[i]
           }
      }
     var butt=document.getElementById('kl')
     butt.onclick=ty
</script>

melky 03.04.2011 12:49

<script language="JavaScript" type="text/javascript">
Array.prototype.shuffle = function( b )
{
 var i = this.length, j, t;
 while( i )
 {
  j = Math.floor( ( i-- ) * Math.random() );
  t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
  this[i] = this[j];
  this[j] = t;
 }
 return this;
};
  
      function ty()
      { 
       var li=document.getElementsByTagName('li');
       var text=new Array()
       for (i=0;i<li.length;i++)
           { text[i]=li[i].innerHTML;
           }

       var text1=text.shuffle();

       for (i=0;i<text1.length;i++)
           {
             *!*if(i>=10) li[i].style.display = 'none';*/!*
             li[i].innerHTML=text1[i]
           }
      }
     var butt=document.getElementById('kl')
     butt.onclick=ty
</script>


так хорошо?

ksa 04.04.2011 11:56

Цитата:

Сообщение от Naum
как ограничить количество элементов (в моем случае это списки <li>)

Как вариант...

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
* {
	margin: 0;
	padding: 0;
}
ul {
	font-size: 12pt;
	max-height: 95px;
	overflow: hidden;
	border: 1px solid;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<ul>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>
	<li>Item 5</li>
	<li>Item 6</li>
	<li>Item 7</li>
</ul>
</body>
</html>


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