jQuery при указании на ссылку должен показывать div, который по умолчанию скрыт

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

бывший. https://app.emailsmsmarketing.com/login

Пользователи могут нажать «Регистрация», которая скрывает раздел входа и показывает раздел регистрации. То, что я пытаюсь сделать, это в основном добавить ссылку на основной сайт, откуда пользователи смогут получить доступ к регистрационной форме по умолчанию (используя только jQuery).

бывший. https://app.emailsmsmarketing.com/login#!register (или что-то в этом роде)

В основном то, что я прошу:

а) возможно ли это сделать
б) если да, то как?

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


person Meisam Mulla    schedule 07.09.2011    source источник


Ответы (3)


Вы, вероятно, ищете это: Навигация по URL-адресам на основе привязки с jQuery

var myUrl = document.location.toString();
if (myUrl.match('#')) { // the URL contains an anchor

  var myAnchor = '#' + myUrl.split('#')[1];
  $('#login').hide();
  $('#register').show();
}
person Samich    schedule 07.09.2011

Вы можете проверить свойство document.location во время события ready:

$(document).ready(function() {
  if (document.location.indexOf('#login') > -1)
    $("#login").show();
});
person VMAtm    schedule 07.09.2011
comment
@Gus Вау, не знал об этой функции. Благодарю вас! - person VMAtm; 07.09.2011
comment
По какой-то причине это не сработало для меня, но ответ Samich сработал. - person Meisam Mulla; 07.09.2011

Ну конечно, просто установите класс или идентификатор или что-то в вашей ссылке, например:

<a href="#" class="register"> Register! </a>

Затем сделайте это в jQuery

$("a.register").click(function() { 
    $("#logindiv").hide()
    $("#registerdiv").show();
    return false; // prevents the default behavior of the link, ie following it
});

Где registerdiv — это идентификатор вашего скрытого div и т. д.

person Andreas Eriksson    schedule 07.09.2011
comment
Я имею в виду с другой страницы. У меня уже реализовано то, что вы предложили. - person Meisam Mulla; 07.09.2011
comment
Просто так я уверен, что понимаю - Вы хотите загрузить контент с сервера и показать его на текущей странице? Просьба уточнить. - person Andreas Eriksson; 07.09.2011
comment
Нет. У меня уже есть страница с предоставленным вами кодом. Я хочу установить ссылку с emailsmsmarketing.com на app.emailsmsmarketing.com/login, но я хочу, чтобы он отображал раздел регистрации вместо раздела входа по умолчанию. Я надеюсь, что я имею смысл. - person Meisam Mulla; 07.09.2011
comment
О, теперь я понял тебя. Я думаю, что тогда VMAtm ответил на это довольно хорошо. - person Andreas Eriksson; 07.09.2011