【JavaScript&JQuery】原生API實現li標籤隨機排列
最近在給我母后做一個專案,需要到隨機排列li元素,看了網上好多外掛還有好多原始碼,感覺有點兒複雜,而且和我專案並不是很友好,不方便嫁接過來,於是就自己寫了一個方法,看上去還不錯,就放出來分享一下。
內容很短,而且暫時沒有封裝,其實封裝也很簡單的,但是我這兒直接寫直接用的。。。就用的不是封裝的套路了,廢話不多說,直接程式碼貼起!
下面是html內容:
<div class='productsBox'>
<ul class='products'>
<li id='item_1'>列表1</li>
<li id='item_2'>列表2</li>
<li id='item_3'>列表3</li>
<li id='item_4'>列表4</li>
<li id='item_5'>列表5</li>
</ul>
</div>
然後到JQ隨機排列部分
// 獲取所有li標籤陣列, $(".productsBox > ul > li").toArray();也是可以的
var arr = $(".productsBox > ul").children().toArray();
var bigLength = arr.length;// 獲取其最大長度
var randomString = "";// 結果字串
for(var i = 0; i < bigLength; i++){// 遍歷所有陣列元素內容
// 隨機生成剩餘量
var rand = parseInt(Math.random() * (arr.length));
// 將包含自身li的html內容新增到字串中
randomString += arr[rand].outerHTML;
arr.splice(rand, 1);// 刪除當前操作的陣列元素
}
$(".products").empty();// 清空原有ul下的li標籤
$(".products").append(randomString);// 追加html
顯而易見,註釋很清晰,應該不難理解,思路挺簡單的,就是迴圈的隨機獲取陣列內容,然後刪掉提取出來的項。就這麼簡單,如果項封裝的話,直接放到一個function裡面就行了,然後引數就是需要操作的array,末尾return結果字串即可,引數如果後面不需要的話,function裡面就不用臨時建立一個用來操作的array了。下面放一個完全封裝了的。
function randomGetString(arr){
var tempArr = [].concat(arr);// 建立運算元組
var bigLength = arr.length;// 獲取其最大長度
var randomString = "";// 結果字串
for(var i = 0; i < bigLength; i++){// 遍歷所有陣列元素內容
// 隨機生成剩餘量
var rand = parseInt(Math.random() * (tempArr.length));
// 將包含自身li的html內容新增到字串中
randomString += tempArr[rand].outerHTML;
tempArr.splice(rand, 1);// 刪除當前操作的陣列元素
}
return randomString;
}
挺短挺實用的一篇博文,喜歡的話,請多多支援我,有什麼意見或者有更好的方法,歡迎留言交流,我每天都會上來逛逛的,謝謝大家!
相關文章
- HTMl中標籤中li橫向排列的實現示例HTML
- 實現一個炫酷的隨機標籤排列效果(顏色隨機,大小隨機,成菱形排列的列表)隨機
- HTML中的標籤中li橫向排列HTML
- js實現點選<li>標籤彈出其索引值JS索引
- Android標籤、熱門搜尋實現支援橫縱排列Android
- 生成隨機排列隨機
- 隨機輸入3個字串,降序排列,用引用、字元陣列實現隨機字串字元陣列
- TopThink頁面頭部存在多餘 li 標籤
- 【動畫進階】單標籤下多色塊隨機文字隨機顏色動畫動畫隨機
- 帝國CMS萬能標籤呼叫隨機文章的方法(按表隨機和按照本欄目隨機)隨機
- css3實現手機效果的“切換標籤”CSSS3
- HTML 標籤參考無極3註冊按字母順序排列 HTML 641480標籤HTML
- JavaScript li元素的順序隨機打亂JavaScript隨機
- 沒有框架怎麼辦?原生 CSS + JS 實現一個標籤輸入框框架CSSJS
- 原生JS實現移動端線上籤協議JS協議
- 標籤列印軟體中如何在一個標籤中新增兩個相同的可變隨機碼隨機
- LI 標籤中讓文章標題左對齊,日期右對齊的方法
- 實現隨機顏色隨機
- javascript實現文字框標籤驗證JavaScript
- 使用bringToFont實現標籤切換
- 標籤實現響應式圖片
- 關於.net實現網站模板機制(非標籤替換)網站
- Java實現-全排列Java
- 原生javascript實現的隨機生成4位字串程式碼例項JavaScript隨機字串
- 標籤實現預載入功能詳解
- NET Core-TagHelper實現分頁標籤
- Pyqt5 實現多標籤頁面QT
- mysql實現隨機查詢MySql隨機
- 運用JS 實現隨機點名 (隨機點名)JS隨機
- 窗體(隨機數,列表框,標籤,按鈕,修改窗體名字)隨機
- 用原生Js利用sort方法 實現圖片的正 倒排序和隨機排序JS排序隨機
- 利用 Android 系統原生 API 實現分享功能AndroidAPI
- 字母排列(python實現)Python
- 字串全排列 java實現字串Java
- Flutter使用Draggable與自定義RenderObject實現圖片新增標籤,隨意拖動位置效果FlutterObject
- tag標籤是怎麼用OT實現的?
- MyBatis標籤實現的動態SQL語句MyBatisSQL
- 實現列表懸浮標籤「頂上去」的效果