javascript 新聞列表排序簡單封裝
更新時間:2009年11月29日 23:00:48 作者:
可以控制列表按日期以及按字數(shù)排序.升或者降序.代碼簡單封裝,按一定的格式調(diào)用即可。
代碼寫的比較繁瑣,很多方法用的很原始...
代碼如下:
[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++ )//將要比較的內(nèi)容存入數(shù)組
{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){//取數(shù)組下標函數(shù)。
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);//取得排序后數(shù)組的下標
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代碼如下:
復(fù)制代碼 代碼如下:
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++ )//將要比較的內(nèi)容存入數(shù)組
{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){//取數(shù)組下標函數(shù)。
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);//取得排序后數(shù)組的下標
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實現(xiàn)常用二級省市級聯(lián)下拉列表的方法
- javascript為下拉列表動態(tài)添加數(shù)據(jù)項
- javascript對下拉列表框(select)的操作實例講解
- javascript 操作select下拉列表框的一點小經(jīng)驗
- javascript 獲取select下拉列表值的代碼
- Javascript 生成無限下拉列表實現(xiàn)代碼
- javascript實現(xiàn)通過拼音首字母快速選擇下拉列表
- javascript select列表內(nèi)容按字母倒序排序與按列表倒序排列
- JavaScript實現(xiàn)對下拉列表值進行排序的方法
相關(guān)文章
JavaScript語法 JSON序列化之stringify實例詳解
這篇文章主要為大家介紹了JavaScript語法 JSON序列化之stringify實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10JavaScript中有關(guān)一個數(shù)組中最大值和最小值及它們的下表的輸出的解決辦法
這篇文章主要介紹了JavaScript中有關(guān)一個數(shù)組中最大值和最小值及它們的下表的輸出的一種解決辦法,本文還給大家介紹了js快速獲取數(shù)組中最大值和最小值的方法,非常不錯,需要的朋友可以參考下2016-07-07JavaScript初學(xué)者應(yīng)注意的七個細節(jié)小結(jié)
每種語言都有它特別的地方,對于JavaScript來說,使用var就可以聲明任意類型的變量,這門腳本語言看起來很簡單,然而想要寫出優(yōu)雅的代碼卻是需要不斷積累經(jīng)驗的2012-01-01淺談JavaScript 函數(shù)參數(shù)傳遞到底是值傳遞還是引用傳遞
下面小編就為大家?guī)硪黄獪\談JavaScript 函數(shù)參數(shù)傳遞到底是值傳遞還是引用傳遞。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08