六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 93|回复: 0

JavaScript实现GridView行交替与行选中颜色变化,缺点是加入分页和UpdatePanel后,点击下一页后,功能就消失了

[复制链接]

升级  0.95%

325

主题

325

主题

325

主题

探花

Rank: 6Rank: 6

积分
1019
 楼主| 发表于 2013-2-7 19:10:08 | 显示全部楼层 |阅读模式
JavaScript实现GridView行交替与行选中颜色变化,缺点是加入分页和UpdatePanel后,点击下一页后,功能就消失了
  <mce:script type="text/javascript"><!--//把事件放在onload里,//使用<%=%>方式输出GridView的ID是因为某些情况下(如使用了MasterPage)会造成HTML中ID的变化//颜色值推荐使用Hex,如 #f00 或 #ff0000window.onload = function(){GridViewColor("<%=GridView1.ClientID%>", "#FFFFFF", "#FFFFFF", "#CCCCFF", "#CCCCCC");}//参数依次为(后两个如果指定为空值,则不会发生相应的事件)://GridView ID, 正常行背景色,交替行背景色,鼠标指向行背景色,鼠标点击后背景色function GridViewColor(GridViewId, NormalColor, AlterColor, HoverColor, SelectColor){//获取所有要控制的行var AllRows = document.getElementById(GridViewId).getElementsByTagName("tr");//设置每一行的背景色和事件,循环从1开始而非0,可以避开表头那一行for(var i=1; i<AllRows.length; i++){//设定本行默认的背景色AllRows[i].style.background = i%2==0?NormalColor:AlterColor;//如果指定了鼠标指向的背景色,则添加onmouseover/onmouseout事件//处于选中状态的行发生这两个事件时不改变颜色if(HoverColor != ""){AllRows[i].onmouseover = function(){if(!this.selected)this.style.background = HoverColor;}if(i%2 == 0){AllRows[i].onmouseout = function(){if(!this.selected)this.style.background = NormalColor;}}else{AllRows[i].onmouseout = function(){if(!this.selected)this.style.background = AlterColor;}}}//如果指定了鼠标点击的背景色,则添加onclick事件//在事件响应中修改被点击行的选中状态if(SelectColor != ""){AllRows[i].onclick = function(){this.style.background = this.style.background==SelectColor?HoverColor:SelectColor;this.selected = !this.selected;}}}}// --></mce:script>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表