javascript 新聞列表排序簡單封裝
更新時間:2009年11月29日 23:00:48 作者:
可以控制列表按日期以及按字數排序.升或者降序.代碼簡單封裝,按一定的格式調用即可。
代碼寫的比較繁瑣,很多方法用的很原始...
代碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
js代碼如下:
function $(s){
return document.all?document.all[s]:document.getElementById(s);
}
function list_sort(list_id,btn1,btn2){
var list=$(list_id).getElementsByTagName("li");
var c_date=$(list_id).getElementsByTagName("span");
var content=$(list_id).getElementsByTagName("a");
var date=new Array(),con=new Array,date1=new Array(),con1=new Array,list_con=new Array;
for (var i=0;i<list.length ;i++ )//將要比較的內容存入數組
{date1[i]=date[i]=c_date[i].innerHTML;
list_con[i]=list[i].innerHTML;
con1[i]=con[i]=content[i].innerHTML.length;
}
con.sort(function(x,y){return parseInt(x)-parseInt(y);});//將字符長度排序
date.sort(function sortDate(a,b)
{
return new Date(a.replace(/-/,"/")) - new Date(b.replace(/-/,"/"));
});//將日期排序.
function darry(arry1,arry2){//取數組下標函數。
var b=new Array();
for (var n=0;n<list.length ;n++ )
{for (var m=0;m<list.length;m++ )
{if (arry1[m]==arry2[n]) b[n]=m;
}
}
return b;
}
var top=0;//定義排序方向浮標
$(btn1).onclick=function(){insetHTM(con1,con)}
$(btn2).onclick=function(){insetHTM(date1,date)}
function insetHTM(ary1,ary2){ //排序后的html輸出到ul中
var c=darry(ary1,ary2);//取得排序后數組的下標
var list_html="";//定義變量存儲排序后的html
if (top==0)
{for (var k=0;k<list.length;k++ )
{list_html+="<li>"+list_con[c[k]]+"</li>";top=1}
}
else
{ for (var k=list.length-1;k>=0;k--)
{list_html+="<li>"+list_con[c[k]]+"</li>";top=0}
}
$(list_id).innerHTML=list_html;
}
}
window.onload=function(){
list_sort("news_list","button1","button2")
}
代碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
js代碼如下:
復制代碼 代碼如下:
function $(s){
return document.all?document.all[s]:document.getElementById(s);
}
function list_sort(list_id,btn1,btn2){
var list=$(list_id).getElementsByTagName("li");
var c_date=$(list_id).getElementsByTagName("span");
var content=$(list_id).getElementsByTagName("a");
var date=new Array(),con=new Array,date1=new Array(),con1=new Array,list_con=new Array;
for (var i=0;i<list.length ;i++ )//將要比較的內容存入數組
{date1[i]=date[i]=c_date[i].innerHTML;
list_con[i]=list[i].innerHTML;
con1[i]=con[i]=content[i].innerHTML.length;
}
con.sort(function(x,y){return parseInt(x)-parseInt(y);});//將字符長度排序
date.sort(function sortDate(a,b)
{
return new Date(a.replace(/-/,"/")) - new Date(b.replace(/-/,"/"));
});//將日期排序.
function darry(arry1,arry2){//取數組下標函數。
var b=new Array();
for (var n=0;n<list.length ;n++ )
{for (var m=0;m<list.length;m++ )
{if (arry1[m]==arry2[n]) b[n]=m;
}
}
return b;
}
var top=0;//定義排序方向浮標
$(btn1).onclick=function(){insetHTM(con1,con)}
$(btn2).onclick=function(){insetHTM(date1,date)}
function insetHTM(ary1,ary2){ //排序后的html輸出到ul中
var c=darry(ary1,ary2);//取得排序后數組的下標
var list_html="";//定義變量存儲排序后的html
if (top==0)
{for (var k=0;k<list.length;k++ )
{list_html+="<li>"+list_con[c[k]]+"</li>";top=1}
}
else
{ for (var k=list.length-1;k>=0;k--)
{list_html+="<li>"+list_con[c[k]]+"</li>";top=0}
}
$(list_id).innerHTML=list_html;
}
}
window.onload=function(){
list_sort("news_list","button1","button2")
}
相關文章
JavaScript語法 JSON序列化之stringify實例詳解
這篇文章主要為大家介紹了JavaScript語法 JSON序列化之stringify實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10JavaScript中有關一個數組中最大值和最小值及它們的下表的輸出的解決辦法
這篇文章主要介紹了JavaScript中有關一個數組中最大值和最小值及它們的下表的輸出的一種解決辦法,本文還給大家介紹了js快速獲取數組中最大值和最小值的方法,非常不錯,需要的朋友可以參考下2016-07-07淺談JavaScript 函數參數傳遞到底是值傳遞還是引用傳遞
下面小編就為大家?guī)硪黄獪\談JavaScript 函數參數傳遞到底是值傳遞還是引用傳遞。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08