javascript 新闻列表排序简单封装

 更新时间:2009年11月29日 23:00:48   作者:  
可以控制列表按日期以及按字数排序.升或者降序.代码简单封装,按一定的格式调用即可。
代码写的比较繁琐,很多方法用的很原始...
代码如下:

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

相关文章

  • JavaScript语法 JSON序列化之stringify实例详解

    JavaScript语法 JSON序列化之stringify实例详解

    这篇文章主要为大家介绍了JavaScript语法 JSON序列化之stringify实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 轻量级的原生js日历插件calendar.js使用指南

    轻量级的原生js日历插件calendar.js使用指南

    网页上的原生js日历代码,鼠标点击文字提示处,会显示一个带年月日的日历窗口,可调整年份、月份、选择日期等,用在网页上方便大家选择日期,提高用户体验。各大浏览器都能正常运行,有需要的小伙伴可以参考下。
    2015-04-04
  • web 页面分页打印的实现

    web 页面分页打印的实现

    网上找的,经我整理添加demo如下
    2009-06-06
  • JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法

    JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法

    这篇文章主要介绍了JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的一种解决办法,本文还给大家介绍了js快速获取数组中最大值和最小值的方法,非常不错,需要的朋友可以参考下
    2016-07-07
  • javascript实现双端队列

    javascript实现双端队列

    这篇文章主要为大家详细介绍了使用javascript实现双端队列,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • js对象数组根据对象属性删除对象

    js对象数组根据对象属性删除对象

    这篇文章主要介绍了js对象数组根据对象属性删除对象,需要的朋友可以参考下
    2023-07-07
  • JavaScript初学者应注意的七个细节小结

    JavaScript初学者应注意的七个细节小结

    每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的
    2012-01-01
  • 浅谈JavaScript 函数参数传递到底是值传递还是引用传递

    浅谈JavaScript 函数参数传递到底是值传递还是引用传递

    下面小编就为大家带来一篇浅谈JavaScript 函数参数传递到底是值传递还是引用传递。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 使用egg.js实现手机、验证码注册的项目实践

    使用egg.js实现手机、验证码注册的项目实践

    本文主要介绍了使用egg.js实现手机、验证码注册的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 如何使用JS中的webWorker

    如何使用JS中的webWorker

    作为浏览器脚本语言,如果JavaScript不是单线程,那么就有点棘手了。比如,与用户交互或者对DOM进行操作时,在一个线程上修改某个DOM,另外的线程删除DOM,这时浏览器该如何抉择呢?
    2021-05-05

最新评论