Javascript 将页面重定向到另一个页面,然后执行jQuery操作
我有一个带有图片和类别名称的滑块的页面,第二个带有图库的页面,在这个页面上是另一个带有类别图标的滑块。当你点击slider1时,它应该将你重定向到第2页(图库)并将slider2设置到正确的位置,我的意思是slider2应该跳转到正确的幻灯片,并且具有完全相同的类别,以便在图库中显示正确的图片。 重定向对我来说没有问题,但我不知道在重定向到页面后应该如何编写函数。 现在我有Javascript 将页面重定向到另一个页面,然后执行jQuery操作,javascript,jquery,html,redirect,Javascript,Jquery,Html,Redirect,我有一个带有图片和类别名称的滑块的页面,第二个带有图库的页面,在这个页面上是另一个带有类别图标的滑块。当你点击slider1时,它应该将你重定向到第2页(图库)并将slider2设置到正确的位置,我的意思是slider2应该跳转到正确的幻灯片,并且具有完全相同的类别,以便在图库中显示正确的图片。 重定向对我来说没有问题,但我不知道在重定向到页面后应该如何编写函数。 现在我有 var slide_jump; $('div.zobacz').bind("click touchstart",
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\u jump)
-slider2跳转到正确的幻灯片,但我不知道我应该使用它。应该是在第2页加载之后,我知道有类似的事情
$(window).load(); $(document).ready();
但是我应该用它吗?我知道吗?如果所有内容都已包含在类似这样的内容中。这用于加载所有DOM元素时
$(document).ready();
当您处理图像并想知道所有图像何时完成加载时,您应该使用
$(window).load();
在负重状态下,你可以做跳跃式滑行
$(window).load(function()
{
//Do the jump slide
});
编辑:
阅读querystring的示例。
下面是一个例子:
//Wait when done loading images
jQuery(window).load(function ()
{
//Read querystring
var selectedSlide = $.QueryString("slided");
//Jump to slide
slider2.jump(selectedSlide)
});
我是从脑子里打出来的,所以这只是为了这个想法有关加载和就绪的更多信息:我建议使用window.onload
请参阅以更好地理解您需要做的是将变量传递到新页面,然后在页面加载时处理该值。像这样的方法应该会奏效: 第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);
});
$(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"));
}
注意:我不知道为什么要使用超时,是glide2.current()代码>异步操作?如果不是,则不需要超时。如果是,最好使用回调
第2页代码:
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);
});
$(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
函数。不确定这是否真的可以作为答案。这是有帮助的,但仍然有很多问题没有解决。例如,如何知道在第1页中选择了哪个跳转?好的,谢谢,但我仍然不知道应该在哪里写。我应该在哪里使用$(window.load()?在该功能中,单击?或者其他地方?musefan,我知道哪个跳转,glide2.current()告诉我单击div时显示了哪个幻灯片,slider2.jump(glide2.current()的结果)应该重定向或跳转到slider 2中的同一张幻灯片。如果您使用$(location.attr('href',url)将其重定向到另一个页面。我认为您应该在该页面上使用另一个js文件,然后从$(window.load)函数开始,然后在其中执行跳转幻灯片。在您的代码中,我看到您将所选幻灯片放入变量中。你也应该像在查询字符串中一样发送它,并在另一页上阅读它。musefan,谢谢,所以你试图告诉我加载()后我丢失了所有变量,对吗?我不知道您需要将这个幻灯片\u jump
值传递到另一个页面,这可以通过在URL查询字符串中添加一个参数来完成。例如www.example.com?jump=42
,然后您需要了解如何在第2页$(窗口)中检索该值。load()
事件(我记不起我的头顶了,否则将作为答案)