选项卡代码问题:刷新页面保持原来选项,怎么做?

u010259408 2014-04-11 04:06:28
选项卡代码问题:刷新页面保持原来选项,怎么做?以下是选项卡的js
<script type="text/javascript">
function nTabs(thisObj, Num) {
if (thisObj.className == "active") return;
var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for (i = 0; i < tabList.length; i++) {
if (i == Num) {
thisObj.className = "active";
document.getElementById(tabObj + "_Content" + i).style.display = "block";
} else {
tabList[i].className = "normal";
document.getElementById(tabObj + "_Content" + i).style.display = "none";
}
}
}
</script>


<div class="nTab">
<div class="TabTitle">
<ul id="myTab1">
<li class="active" onclick="nTabs(this,0);">注册</li>
<li class="normal" onclick="nTabs(this,1);">登录</li>
</ul>
</div>
<div class="TabContent">
<div id="myTab1_Content0">注册</div>
<div id="myTab1_Content1" class="none">登录</div>
</div>
现在的问题就是在登录选项卡刷新的时候就回到了默认的注册页面,我想刷新当前登录选项卡该怎么写呀???求高手帮忙呀,我JS不怎么好,感激不尽!
...全文
965 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010259408 2014-04-11
  • 打赏
  • 举报
回复
引用 20 楼 wzhiyuan 的回复:
设置和获取cookie如果自己来写的比较兼容的话,也有点麻烦,我建议你用jquery的cookie插件。然后就后简单了,你点击的li的时候设置一个cookie 就行了,然后页面加载的时候读取这个cookie,如果不为空,就根据cookie来调用你的函数。 注意页前面先要引用jquery和cookie插件的源文件。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>cookie tab</title>
    <script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
    <script type="text/javascript" src="js/jquery.cookie.js" ></script>
</head>
<body>
    <script type="text/javascript">
        function nTabs(thisObj, Num) {
            if (thisObj.className == "active") return;
            var tabObj = thisObj.parentNode.id;
            var tabList = document.getElementById(tabObj).getElementsByTagName("li");
            for (i = 0; i < tabList.length; i++) {
                if (i == Num) {
                    thisObj.className = "active";
                    document.getElementById(tabObj + "_Content" + i).style.display = "block";
                } else {
                    tabList[i].className = "normal";
                    document.getElementById(tabObj + "_Content" + i).style.display = "none";
                }
            }
        }

        
</script>


  <div class="nTab">
<div class="TabTitle">
<ul id="myTab1">
<li class="active" onclick="nTabs(this,0);">注册</li>
<li class="normal" onclick="nTabs(this,1);">登录</li>        
</ul>
</div>
    <div class="TabContent">
<div id="myTab1_Content0">注册</div>
<div id="myTab1_Content1" class="none">登录</div>
</div>
      </div> 

 
    <script type="text/javascript" >
        var tabcookievalue = $.cookie("mytab");
        if (tabcookievalue != "") {
            nTabs($("#myTab1 li").eq(tabcookievalue)[0], tabcookievalue);     
        }

        $("#myTab1 li").click(function () {
            $.cookie("mytab", $(this).index());
        });

     
    </script>
    
</body>
</html>
太感谢你了分给你了,刚刚引用错了
u010259408 2014-04-11
  • 打赏
  • 举报
回复
引用 19 楼 u010259408 的回复:
求高手帮忙呀,急用啊
太感谢你了分给你吧
wzhiyuan 2014-04-11
  • 打赏
  • 举报
回复
设置和获取cookie如果自己来写的比较兼容的话,也有点麻烦,我建议你用jquery的cookie插件。然后就后简单了,你点击的li的时候设置一个cookie 就行了,然后页面加载的时候读取这个cookie,如果不为空,就根据cookie来调用你的函数。 注意页前面先要引用jquery和cookie插件的源文件。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>cookie tab</title>
    <script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
    <script type="text/javascript" src="js/jquery.cookie.js" ></script>
</head>
<body>
    <script type="text/javascript">
        function nTabs(thisObj, Num) {
            if (thisObj.className == "active") return;
            var tabObj = thisObj.parentNode.id;
            var tabList = document.getElementById(tabObj).getElementsByTagName("li");
            for (i = 0; i < tabList.length; i++) {
                if (i == Num) {
                    thisObj.className = "active";
                    document.getElementById(tabObj + "_Content" + i).style.display = "block";
                } else {
                    tabList[i].className = "normal";
                    document.getElementById(tabObj + "_Content" + i).style.display = "none";
                }
            }
        }

        
</script>


  <div class="nTab">
<div class="TabTitle">
<ul id="myTab1">
<li class="active" onclick="nTabs(this,0);">注册</li>
<li class="normal" onclick="nTabs(this,1);">登录</li>        
</ul>
</div>
    <div class="TabContent">
<div id="myTab1_Content0">注册</div>
<div id="myTab1_Content1" class="none">登录</div>
</div>
      </div> 

 
    <script type="text/javascript" >
        var tabcookievalue = $.cookie("mytab");
        if (tabcookievalue != "") {
            nTabs($("#myTab1 li").eq(tabcookievalue)[0], tabcookievalue);     
        }

        $("#myTab1 li").click(function () {
            $.cookie("mytab", $(this).index());
        });

     
    </script>
    
</body>
</html>
u010259408 2014-04-11
  • 打赏
  • 举报
回复
求高手帮忙呀,急用啊
u010259408 2014-04-11
  • 打赏
  • 举报
回复
恩恩,是的吧!就是我点击button的时候我本来是在第二个选项卡的点击之后就返回到了第一个选项卡了,用cookie可以但我不知道用js怎么操作
For_You 2014-04-11
  • 打赏
  • 举报
回复
你是说你点击的button是吧,那是不是提交了?url 里是不是 没有 #login 或#login 了?
u010259408 2014-04-11
  • 打赏
  • 举报
回复
我的代码中含有<body> <form id="form1" runat="server">啊,然后就拉了一个.NET的button按钮一点击就返回到了注册选项卡了
For_You 2014-04-11
  • 打赏
  • 举报
回复
你把我刚才的代码贴入应该是可以的 我这边就可以
u010259408 2014-04-11
  • 打赏
  • 举报
回复
谷歌浏览器啊
For_You 2014-04-11
  • 打赏
  • 举报
回复
你什么浏览器?
u010259408 2014-04-11
  • 打赏
  • 举报
回复
加了样式还是不行呢
For_You 2014-04-11
  • 打赏
  • 举报
回复
之前那位写的没什么问题,少了个样式而已 你试试。
<!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=utf-8" />
<title>无标题文档</title>
<style>
#myTab1_Content1{ display:none}
</style>
</head>

<body>
 <script type="text/javascript">
        function nTabs(thisObj, Num) {
            if (thisObj.className == "active") return;
            var tabObj = thisObj.parentNode.id;
            var tabList = document.getElementById(tabObj).getElementsByTagName("li");
            for (i = 0; i < tabList.length; i++) {
                if (i == Num) {
                    thisObj.className = "active";
                    document.getElementById(tabObj + "_Content" + i).style.display = "block";
                } else {
                    tabList[i].className = "normal";
                    document.getElementById(tabObj + "_Content" + i).style.display = "none";
                }
            }
        }
</script>
 
 
  <div class="nTab">
<div class="TabTitle">
<ul id="myTab1">
<li id="li_register" class="active" onclick="nTabs(this,0);location.href='#register'">注册</li>
<li id="li_login" class="normal" onclick="nTabs(this,1);location.href='#login'">登录</li>            
</ul>
</div>
    <div class="TabContent">
<div id="myTab1_Content0">注册</div>
<div id="myTab1_Content1" class="none">登录</div>
</div>
<script type="text/javascript">
var hash = location.hash;
if(hash == "#login")nTabs(document.getElementById('li_login'),1);
else nTabs(document.getElementById('li_register'),0);
</script>
</body>
</html>
u010259408 2014-04-11
  • 打赏
  • 举报
回复
引用 8 楼 shenhuaxb258 的回复:
我提供个思路,很简单 <input type="hidden" value="" /> 把用一个 hidden的input记住我当前在那个tab 每次刷新的时候获取hidden的input的值来获取当前在那个tab页
求具体的呀,具体怎么写呀
u010259408 2014-04-11
  • 打赏
  • 举报
回复
刷新之后还是返回到第一个选项卡呀???跪求呀
For_You 2014-04-11
  • 打赏
  • 举报
回复
我提供个思路,很简单 <input type="hidden" value="" /> 把用一个 hidden的input记住我当前在那个tab 每次刷新的时候获取hidden的input的值来获取当前在那个tab页
u010259408 2014-04-11
  • 打赏
  • 举报
回复
引用 5 楼 wzhiyuan 的回复:
设置一个cookie就行了
具体代码怎么写呀???求帮助呀,不会用JS引用cookie呀求帮助啊
u010259408 2014-04-11
  • 打赏
  • 举报
回复
具体怎么写啊,就比如我再另一个选项卡做了一个数据查询,我点击查询之后数据是查询出来了,可是返回到了第一个注册选项卡了,我要停留在当前选项卡啊...我刚引用了你加入的代码还是不行啊
wzhiyuan 2014-04-11
  • 打赏
  • 举报
回复
设置一个cookie就行了
liuxingfffff 2014-04-11
  • 打赏
  • 举报
回复
看你刷新的代码了。 点击选项卡,在url后面加了个hash。
u010259408 2014-04-11
  • 打赏
  • 举报
回复
引用 1 楼 liuxingfffff 的回复:

 <script type="text/javascript">
        function nTabs(thisObj, Num) {
            if (thisObj.className == "active") return;
            var tabObj = thisObj.parentNode.id;
            var tabList = document.getElementById(tabObj).getElementsByTagName("li");
            for (i = 0; i < tabList.length; i++) {
                if (i == Num) {
                    thisObj.className = "active";
                    document.getElementById(tabObj + "_Content" + i).style.display = "block";
                } else {
                    tabList[i].className = "normal";
                    document.getElementById(tabObj + "_Content" + i).style.display = "none";
                }
            }
        }
</script>


  <div class="nTab">
<div class="TabTitle">
<ul id="myTab1">
<li id="li_register" class="active" onclick="nTabs(this,0);location.href='#register'">注册</li>
<li id="li_login" class="normal" onclick="nTabs(this,1);location.href='#login'">登录</li> 	       
</ul>
</div>
    <div class="TabContent">
<div id="myTab1_Content0">注册</div>
<div id="myTab1_Content1" class="none">登录</div>
</div>
<script type="text/javascript">
var hash = location.hash;
if(hash == "#login")nTabs(document.getElementById('li_login'),1);
else nTabs(document.getElementById('li_register'),0);
</script>
我照你这个方法写了 怎么我在用户登陆页面设置一个按钮点击刷新了页面,又返回到了注册选项卡页面了
加载更多回复(1)

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧