当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 新闻列表排序简单封装

Javascript
javascript事件问题
jquery tools 系列 scrollable学习
Javascript中的var_dump函数实现代码
javascript 获取select下拉列表值的代码
JS 网页彩蛋 实现代码
javascript 定义初始化数组函数
Javascript 阻止浏览器默认操作的实现代码
Javascript 检测、添加、移除样式(className)函数代码
Javascript String.replace的妙用
用 Javascript 验证表单(form)中多选框(checkbox)值
用 Javascript 验证表单(form)中的单选(radio)值
Javascript 获取滚动条位置等信息的函数
用Javascript 和 CSS 实现脚注(Footnote)效果
禁止JQuery中的load方法装载IE缓存中文件的方法
jquery 简单导航实现代码
JS 日期验证正则附asp日期格式化函数
javascript 一些用法小结
关于javascript 回调函数中变量作用域的讨论
一个简单的JavaScript 日期计算算法
javascript 基础简介 适合新手学习

Javascript 中的 javascript 新闻列表排序简单封装


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 232 ::
收藏到网摘: n/a

可以控制列表按日期以及按字数排序.升或者降序.代码简单封装,按一定的格式调用即可。 代码写的比较繁琐,很多方法用的很原始...
代码如下:

[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

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")
}