显示页面重定向后的特定div

时间:2014-04-04 06:54:09

标签: jquery html css redirect

我有类似下面的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();
 });

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

4 个答案:

答案 0 :(得分:1)

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

  

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

即使使用javascript,您也可以通过服务器端代码读取参数。以下是jQuery

的使用方法

答案 1 :(得分:1)

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

答案 2 :(得分:1)

重定向时在hash中使用关于有效URI

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 :(得分:0)

在重定向页面时,您可以将div_id传递给show,而在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]