您的位置:首页 > Web前端 > JavaScript

javascript 新闻列表排序简单封装

2009-11-29 00:00 686 查看
代码写的比较繁琐,很多方法用的很原始...
代码如下:












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



2005-09-02
网页标准和标准指南下载


2005-07-18
使用模块快速启动你的


2005-01-29
使用模块快速来排列书序啊新闻能吗


2005-02-15
SEO基础


2005-05-15
SEO基础及世界观人生观理论很长啊啊啊啊啊




简单说明:


调用方法:list_sort(list_id,btn1,btn2)
list_id-- 新闻列表ul的id;
btn1-- 按字数排序事件的id;
btn2-- 按日期排序事件的id;




[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
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") 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: