Откройте ссылку на той же странице, и когда ссылка открыта, выполните некоторый код

0

У меня есть несколько всплывающих окон на главной странице. Я открываю и закрываю их, выбирая их с идентификатором и используя fadeIn() и fadeOut(). Теперь я хочу открыть конкретное всплывающее окно, нажав ссылку из другого окна? Например, если из этого нового окна я нажимаю "Pop Up 1", я хочу открыть домашнюю страницу, а затем показать "Pop Up 1".

Я попытался использовать этот код ниже, но при написании этого кода я понял, что сценарий перезагружается, и поэтому моя функция загрузки всплывающего окна не работает.

Итак, мой вопрос: есть ли какое-то изящное решение, которое вы могли бы рекомендовать для отображения элемента на одной странице, в то время как ссылка, которая указывает, какой элемент должен быть показан, находится в другом?

$("#galleryNav a").on('click', function() {
    window.open("/pixeleyes",'_self',false);

    setTimeout(function() {
        var popToShow = $(this).attr('data-pop');
        $(".text-content-outer").hide();
        $("#" + popToShow).fadeIn();            
    }, 5000);

});
Теги:

2 ответа

2
Лучший ответ

Одна из идей может

Когда вы открываете новую страницу, используя нижеследующую строку, отправьте ей параметр или хеш-значение.

window.open("/pixeleyes",'_self',false);

как

window.open("/pixeleyes#openpopup",'_self',false);

Затем на странице, готовой к этой странице, проверьте, существует ли хэш, всплывающее окно ничего не делает. Не уверен, что это то, что вы ищете.

  • 0
    Да, это похоже на хорошее решение. Я думал, что, возможно, можно будет использовать форму и передавать переменные таким образом, но это даже лучше, спасибо. Во всяком случае, я буду ждать больше ответов на всякий случай, прежде чем принять ответ.
1
$("#galleryNav a").on('click', function() {
    window.open("/pixeleyes#showpopup",'_self',false);

});

showpopup может быть тем, что вы хотите открыть как всплывающее окно...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню