Spry选项卡式面板如何在URL中传值显示选项卡1或选项卡2

用DWCS5直接生成的就是我用URL显示如:www.aa.com/tab.aspx?tab=1就显示选项卡1的内容.www.aaa.com/tab.aspx?tab=2就... 用DWCS5直接生成的
就是我用URL显示如:www.aa.com/tab.aspx?tab=1就显示选项卡1的内容.
www.aaa.com/tab.aspx?tab=2就显示选项卡2的内容.
希望可以贴出详细代码
满意+10分
展开
 我来答
拥抱的力量
2011-01-14 · TA获得超过116个赞
知道答主
回答量:50
采纳率:0%
帮助的人:89.6万
展开全部
你好, 有2种思路可以解决你的问题
1. 在定义Tab选项卡时就将默认选项卡按URL给定值赋值
2. 在Tab选项卡已经初始化之后,再将当前选项卡切换到URL给定值
解决问题的方法是
1. 针对第一种思路, 这样只要增加defaultTab选项即可
2. 针对第二种思路, 需要调用Spry选项卡的showPanel方法

另外,为了解析URL,这里调用了一个Spry的URL工具(SpryURLUtils.js可在Spry开发包中找到),
引用方式是在页面HEAD部分加入:
<script type="text/javascript" src="SpryAssets/SpryURLUtils.js"></script>
下面是具体代码部分,
___________第一种方法_____________
//将原来的Tab定义代码
//var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
//替换为如下代码:
var params = Spry.Utils.getLocationParamsAsObject();
var t=(params.tab)?params.tab:0; //没有URL定义时显示0号选项卡
var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1",{defaultTab:t});
===========方法1结束===============
___________第二种方法_______________
//在原来的Tab定义代码(不变)
var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
//之后增加如下代码:
var params = Spry.Utils.getLocationParamsAsObject();
var t=(params.tab)?params.tab:0; //没有URL定义时显示0号选项卡
TabbedPanels1.showPanel(t);
============方法2结束===============

以上方法如有不明之处可发站内信给我,
PS: 选项卡的编号是从0开始

补充SpryURLUtils.js下载地址
http://labs.adobe.com/technologies/spry/includes_minified/SpryURLUtils.js

参考资料: http://tcnshdgplan/Spry/Spry_1_6_1_022408/articles/data_api/index.html

风清云中子
2011-01-13 · TA获得超过357个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:151万
展开全部
这个最低也要js实现去实现:仅仅用div+css是不行的,因为div+css是无法判断;js+div+css代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

<style type="text/css">
<!--
.d1{ height:300px; width:300px; background:#0000FF; display: none;}
-->
</style>
</head>

<body>
<div class="d1" id="x1">
asdasda</div>
<div class="d1" id="x2">
32423
</div>
<script language="javascript" type="text/javascript">
/**取get参数**/
function Request(argname)
{
var url = document.location.href;
var arrStr = url.substring(url.indexOf("?")+1).split("&");
//return arrStr;
for(var i =0;i<arrStr.length;i++)
{
var loc = arrStr[i].indexOf(argname+"=");

if(loc!=-1)
{
return arrStr[i].replace(argname+"=","").replace("?","");
break;
}

}
return "";
}
var stl = Request("tab");
//alert(stl);
if(stl == '1'){
document.getElementById("x1").style.display = "block";
document.getElementById("x2").style.display = "none";
}else{
document.getElementById("x1").style.display = "none";
document.getElementById("x2").style.display = "block";
}
</script>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atkgf39
2011-01-13 · TA获得超过244个赞
知道答主
回答量:370
采纳率:0%
帮助的人:267万
展开全部
Spry.Widget.TabbedPanels.prototype.onTabMouseOver = function(e, tab) {
//this.addClassName(tab, this.tabHoverClass);
//return false;
this.showPanel(tab);
return this.cancelEvent(e);
};

楼主把第216行的那个函数改成上面的就行了哈。。

呵呵……

祝楼主早日成功哈!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式