前提・実現したいこと
新着ボックス(リスト)を作成しているのですが、
新しいアイテムの4つ目までを固定して、
それより以前のものをランダムに表示したい。
という内容になります。
またシステムから出るデータなのでリストを2つにしたり
すると重複データが出てしまうため困っています。
現在は、以下のコードを使って全てランダムにしています。
使用中のコード
<script> $(function() { var arr = []; $("#random li").each(function() { arr.push($(this).html()); }); arr.sort(function() { return Math.random() - Math.random(); }); $("#random").empty(); for(i=0; i < arr.length; i++) { $("#random").append('<li>' + arr[i] + '</li>'); } }); </script> <ul id="random"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> </ul<!--random-->
試したこと
リスト後半にクラスをつけてそこをシャッフルさせようとしたのですが、
うまくできませんでした。
<script> $(function() { var arr = []; $("#random li.rdm").each(function() { arr.push($(this).html()); }); arr.sort(function() { return Math.random() - Math.random(); }); $("#random").empty(); for(i=0; i < arr.length; i++) { $("#random").append('<li>' + arr[i] + '</li>'); } }); </script> <ul id="random"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li class="rdm">5</li> <li class="rdm">6</li> <li class="rdm">7</li> <li class="rdm">8</li> <li class="rdm">9</li> </ul<!--random-->
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー