jQuery 取得多選的排序
最近要用到的,在選擇的圖片上標示目前的順序,當取消選取一張照片時,照片的排序編號也要重新排過,稍微研究一下就玩出來了。
首先準備這樣的html,click_ord的class是用來塞數字的。
<div class="album_img"><img src="img"><div class="click_ord"></div></div>
然後在js裡,當點擊圖片時,顯示點擊的順序,每點一張變數就+1
- //照片張數
- $photoNum=0;
- ++$photoNum;
- $(this).find(".click_ord").text($photoNum).show();
取消的時候就比較好玩,要重新算一下排序
- //取得取消照片的編號
- $thisCancelNum=$(this).find(".click_ord").text();
- //讓數字區塊隱藏
- $(this).find(".click_ord").hide();
- //繞行所有的照片,並重新排序
- $(".album_img").each(function(i){
- $photoOrd=$(this).find(".click_ord").text();
- //如果原本數字大於取消照片的數字,就-1
- if($photoOrd!="" && $photoOrd>$thisCancelNum){
- $(this).find(".click_ord").text($photoOrd-1);
- }
- });
最後記得$photoNum也要-1,點新照片才會再把數字加上去。
這樣就完成了。
留言