将页面重定向到另一个,然后执行jQuery

时间:2014-09-26 09:37:51

标签: javascript jquery html redirect

我有一个带滑块的页面,其中包含图像和类别名称,第二页带有图库,在此页面上是另一个带有类别图标的滑块。当你点击slider1时,它会将你重定向到page2(图库)并将slider2设置为正确的位置,我的意思是slider2 shoud跳转到适当的幻灯片,具有完全相同的类别以在图库中显示正确的图片。 重定向对我没有问题,但我不知道在重定向到页面后我应该如何编写函数。 现在我有

 var slide_jump;  
 $('div.zobacz').bind("click touchstart", function() {

    slide_jump = glide2.current(); //get number of slide on slider1 to know to which slide should jump slider2

    setTimeout(function() {//redirecting must be after I get current slide on slider1
        var url = "http:***.html";
        $(location).attr('href', url);
    }, 100);
 //HERE IS MY PROBLEM
}); 

有一个功能:slider2.jump(slide_jump) - slider2跳转到正确的幻灯片,但我不知道我是否应该使用它。它应该在page2加载之后,我知道有类似

的东西
$(window).load(); $(document).ready(); 

但我应该知道吗?如果一切都已经是这样了。

3 个答案:

答案 0 :(得分:0)

这用于加载所有DOM元素的时候。

$(document).ready();

当您处理图像并想知道所有图像何时完成加载时,您应该使用

$(window).load();  

在载入中,您可以进行跳转滑动。

$(window).load(function()
{
    //Do the jump slide
});

编辑:

读取查询字符串的示例。 http://www.darlesson.com/jquery/querystring/?language=en&province=Alberta&province=Ontario&province=Quebec

这是一个例子:

//Wait when done loading images
jQuery(window).load(function () 
{
    //Read querystring
     var selectedSlide = $.QueryString("slided");

     //Jump to slide
     slider2.jump(selectedSlide)
});

我已经从头脑中输入了它,所以它只适用于这个想法。
有关加载和就绪的更多信息:Difference between $(window).load() and $(document).ready() functions

答案 1 :(得分:0)

我建议使用window.onload。

请参阅window.onload vs $(document).ready()以便更好地理解

答案 2 :(得分:0)

您需要做的是将变量传递给新页面,然后在页面加载时处理该值。这样的事情应该有效:

第1页代码:

var slide_jump;  
$('div.zobacz').bind("click touchstart", function() {
    slide_jump = glide2.current(); //get number of slide on slider1 to know to which slide should jump slider2

    setTimeout(function() {//redirecting must be after I get current slide on slider1
        var url = "http:***.html" + "?jump=" + slide_jump;//CHANGE HERE
        $(location).attr('href', url);
    }, 100);
}); 

注意:我不知道您使用超时的原因,glide2.current();是异步操作吗?如果没有,则不需要超时。如果是,最好使用回调。


第2页代码:

$(window).load(function()
{
    var slide_jump = getQueryStringValue('jump');
    slider2.jump(slide_jump);
});

function getQueryStringValue(key) {  
    return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));  
} 

注意:getQueryStringValue功能已被from here