dwr中tabs的修改(支持记忆)

在使用tabs这样的控件时,发现dwr中的tabs非常简单,代码非常少,
所以就决定用这个了。
不过问题出来了。当我在tabs不是第一个中有按钮的时候,点击查询等应用,就会自动跳到第一个,非常不适用,所以决定修改
,使用点击非第一个里面的按钮能继续在原地方
--------简单修改后的tabs.js如下----------------------

function Tabs() { }

//Tabs.removeSelectedRegex = new RegExp("(^|\\s)linkSelected(\\s|$)", 'g');
//Tabs.removeUnselectedRegex = new RegExp("(^|\\s)linkUnselected(\\s|$)", 'g');

/**
*
*/
Tabs.init = function(tabListId) {
Tabs.tabLinks = document.getElementById(tabListId).getElementsByTagName("A");

var link, tabId, tab;
[color=red]var hasTabId="false";[/color]
var oldTabId = getTabCookie("tabId");
for (var i = 0; i < Tabs.tabLinks.length; i++)
{
link = Tabs.tabLinks[i];
tabId = link.getAttribute("tabId");
if (!tabId) alert("Expand link does not have a tabId element: " + link.innerHTML);
tab = document.getElementById(tabId);
if (!tab) alert("tabId does not exist: " + tabId);

if ([color=red]tabId==oldTabId[/color])
{
[color=red]hasTabId="true";[/color]
tab.style.display = "block";
link.className = "linkSelected " ;//+ link.className.replace(Tabs.removeUnselectedRegex, '');
}
else {
tab.style.display = "none";
link.className = "linkUnselected " ;//+ link.className.replace(Tabs.removeSelectedRegex, '');
}

link.onclick = function() {
var tabId = this.getAttribute("tabId");
[color=red]setTabCookie("tabId",tabId);[/color]
for (var i = 0; i < Tabs.tabLinks.length; i++)
{
var link = Tabs.tabLinks[i];
var loopId = link.getAttribute("tabId");
if (loopId == tabId)
{
document.getElementById(loopId).style.display = "block";
link.className = "linkSelected " ;//+ link.className.replace(Tabs.removeUnselectedRegex, '');
}
else
{
document.getElementById(loopId).style.display = "none";
link.className = "linkUnselected " ;//+ link.className.replace(Tabs.removeSelectedRegex, '');
}
}
if (this.blur) this.blur();
return false;
}
}
[color=red]if(hasTabId=="false")
{
link = Tabs.tabLinks[0];
tabId = link.getAttribute("tabId");
if (!tabId) alert("Expand link does not have a tabId element: " + link.innerHTML);
tab = document.getElementById(tabId);
if (!tab) alert("tabId does not exist: " + tabId);
tab = document.getElementById(tabId);
tab.style.display = "block";
link.className = "linkSelected " ;//+ link.className.replace(Tabs.removeUnselectedRegex, '');
}[/color]
}
[color=red]function setTabCookie(name,value)
{
var exp = new Date();
exp.setTime (exp.getTime()+3600000000);
document.cookie = name + "=" + value + "; expires=" + exp.toGMTString();
}
function getTabCookie(name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;

}

//cookie的相关函数
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值