2014-09-26 4 views
0

У меня есть одна страница со слайдером с изображениями и названиями категорий, а вторая страница с галереей, а на этой странице есть еще один слайдер с значками категорий. Когда вы нажимаете на слайдер1, он переадресовывает вас на страницу2 (галерея) и устанавливает слайдер2 в правильные позиции, я имею в виду, что слайдер2 shoud переходит к правильному слайду с точно такой же категорией, чтобы показывать правильные фотографии в галерее. Перенаправление не было проблемой для меня, но я не знаю, как я должен писать функции после перенаправления на страницу. Сейчас у меня естьПеренаправить страницу в другую, а затем сделать что-то jQuery

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 перейти к правильному слайду, но я не знаю, были я Шоуд использовать его. это должно быть после загрузки страницы2, я знаю, что есть что-то вроде

$(window).load(); $(document).ready(); 

но должен ли я его использовать? если все уже есть в чем-то подобном.

+0

Вам нужно передать это значение slide_jump на другую страницу, это можно сделать, добавив параметр в строку запроса URL. Например, 'www.example.com? Jump = 42', тогда вам нужно решить, как получить это значение на вашей странице 2' $ (window) .load() 'event (я не могу вспомнить верхнюю часть моя голова, иначе бы поставили как ответ) – musefan

ответ

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.

+0

спасибо, я попробую – Karolina

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

+0

Не уверен, что это действительно квалифицируется как ответ. Это полезно, но все еще оставляет нерешенную проблему. Например, как узнать, какой переход был выбран на стр. 1? – musefan

+0

ОК спасибо, но я до сих пор не знаю, где я должен его написать. где я должен использовать $ (window) .load()? в этой функции нажмите? или где-то еще? – Karolina

+0

musefan, я знаю, какой прыжок, glide2.current() скажите, какой слайд отображался при нажатии на div, и slider2.jump (результат glide2.current()) shoud перенаправить или перейти к тому же слайду в слайдере 2 – Karolina