解决方案 »

  1.   


     <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>
      

  2.   

    看你刷新的代码了。
    点击选项卡,在url后面加了个hash。
      

  3.   

    具体代码怎么写呀???求帮助呀,不会用JS引用cookie呀求帮助啊
      

  4.   

    我提供个思路,很简单 <input type="hidden" value="" />
    把用一个 hidden的input记住我当前在那个tab 每次刷新的时候获取hidden的input的值来获取当前在那个tab页
      

  5.   

    之前那位写的没什么问题,少了个样式而已 你试试。
    <!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>
      

  6.   

    我的代码中含有<body> <form id="form1" runat="server">啊,然后就拉了一个.NET的button按钮一点击就返回到了注册选项卡了
      

  7.   

    你是说你点击的button是吧,那是不是提交了?url 里是不是 没有 #login 或#login 了?
      

  8.   

    恩恩,是的吧!就是我点击button的时候我本来是在第二个选项卡的点击之后就返回到了第一个选项卡了,用cookie可以但我不知道用js怎么操作
      

  9.   

    设置和获取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>