【问题标题】:Showing a particular div after page redirect页面重定向后显示特定的 div
【发布时间】:2014-04-04 06:54:09
【问题描述】:

我有一个类似于下面的 HTML:

<div id="first"> FIirst Div</div>
<div id="second"> Second Div</div>
<div id="third"> Third Div</div>

<a href="#" id="one">View First Div</a>
<a href="#" id="two">View Second Div</a>
<a href="#" id="three">View Third Div</a>

还有 CSS 和 Jquery:

#second,#third {
    display:none;
}

$('#one').click(function(){
 $('#first').show();
 $('#second').hide();
 $('#third').hide();
 });

$('#two').click(function(){
 $('#first').hide();
 $('#second').show();
 $('#third').hide();
 });

$('#three').click(function(){
 $('#first').hide();
 $('#second').hide();
 $('#third').show();
 });

因此,例如,如果我们单击View Third Div,上述代码将显示 div id third。现在,如果我将页面重定向到自身,它将返回其原始属性并显示第一个 div。我想知道有什么方法/技术可以在重定向上述结构后显示我需要的 div 吗?

【问题讨论】:

  • 在页面中添加jquery链接。例如

标签: jquery html css redirect


【解决方案1】:

您可以重定向到同一页面,但需要一些 url 参数。 此参数可用于确定是否显示 div。 只是

http://mypageurl.com/page.html 使用 http://mypageurl.com/page.html?showDiv=true

您甚至可以使用 javascript 读取参数,而不仅仅是服务器端代码。这是使用jQuery的方法

【讨论】:

    【解决方案2】:

    在重定向时,在您的URI 中使用一个hash 值,关于活动的DIV

    例如www.yoururl.com/sumthing#ActiveDiv=div123

    $(function(){
    var activediv = $(location).attr('hash'); //get the active div
    
    ......CODE to make active your DIV now...............
    
    })
    

    【讨论】:

      【解决方案3】:

      有两种方法可以实现: 1.简单的方法。在重定向 URL 中添加一个参数。跳转到页面时,使用js解析URL并调用相应函数显示属性;
      2.复杂的方式。当你点击显示对应的属性时,发送一个ajax请求并记录你正在按会话读取哪些属性。再次访问此页面时,使用会话信息来决定显示哪些属性。

      【讨论】:

        【解决方案4】:

        在重定向页面时,你可以传递div_id来显示,在html页面你可以使用javascript获取URL参数名称并相应地显示div。

        <script>
        function getParam(name, url) {
            if (!url) {
             url = window.location.href;
            }
            var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);
            if (!results) { 
                return 0; 
            }
            return results[1] || 0;
        }
        
        $(document).ready(function(){
            var div_id=getParam("div_id");
            if(div_id!=0){
                //hide all  (you could add common class_name for div to hide-all at once)
               $("#first").hide();
               $("#second").hide();
               $("#third").hide();
        
               $("#"+div_id).show(); //show div which id is passed in url parameter
            }
        });
        

        重定向时

        http://www.yourdomain.com/pagename.html?div_id=third                [This will show third div on page reload]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-30
          • 1970-01-01
          • 2011-04-27
          相关资源
          最近更新 更多