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分 展开
就是我用URL显示如:www.aa.com/tab.aspx?tab=1就显示选项卡1的内容.
www.aaa.com/tab.aspx?tab=2就显示选项卡2的内容.
希望可以贴出详细代码
满意+10分 展开
展开全部
你好, 有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
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
展开全部
这个最低也要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>
<!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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Spry.Widget.TabbedPanels.prototype.onTabMouseOver = function(e, tab) {
//this.addClassName(tab, this.tabHoverClass);
//return false;
this.showPanel(tab);
return this.cancelEvent(e);
};
楼主把第216行的那个函数改成上面的就行了哈。。
呵呵……
祝楼主早日成功哈!!!
//this.addClassName(tab, this.tabHoverClass);
//return false;
this.showPanel(tab);
return this.cancelEvent(e);
};
楼主把第216行的那个函数改成上面的就行了哈。。
呵呵……
祝楼主早日成功哈!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询