Внешняя ссылка на "страницу", которая на самом деле является div, становится видимой по клику
У меня есть простой сайт, на котором всего пара страниц, включая "биржевики" и "контакты". Я думал, что я был хитрым, делая их как div, которые скрываются при загрузке главной страницы и открываются при нажатии на соответствующий пункт меню, используя 'onclick="showStockists()", который запускает функцию, которая в основном просто изменяет div Непрозрачность & Z-индекс.
Все это работает и выглядит великолепно, как есть, но вроде как провалилось, когда я понял, что не думаю, что могу ссылаться на эти "состояния" извне, то есть отправлять кому-то ссылку на страницу биржевых компаний. Есть ли способ иметь ссылку, такую как mysite.com/stockists, которая каким-то образом при загрузке страницы будет запускать функцию showStockists ()? Или я сплю и сделал это очень замысловато.
Если это помогает, вот как у меня это получается (так как эта функция также скрывает боковое меню, которое скрывается при загрузке страницы и открывается гамбургером, и скрывает контактную страницу, если она видна):
HTML:
<div class="menuItem" onclick="showStockists(); closeNav();">STOCKISTS</div>
JS:
function showStockists() {
sideMenu.style.visibility = "hidden";
stockists.style.opacity=1;
stockists.style.zIndex=2;
contact.style.opacity=0;
}
1 ответ
Вы можете сделать это, используя строку запроса: mysite.com/?stockists=1
$( document ).ready(function() {
var stockists = getParameterByName('stockists');
if(stockists==1)
showStockists();
});
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}