#javascript #jquery
Доброго времени суток!
У меня на странице есть 4 блока у которых есть свой 'id', по которому я перехожу
с другой страницы нажимая на ссылку типа "link#anchor" (то есть обычая якорная ссылка
на другую страницу) и таких ссылок 4 как и блоков к ним,
после перехода по ссылке адресная строка имеет типа "..../link#anchor"
и моя задача открывать определенный блок в зависимости от того что прописано в адресной
строке допустим ("/link#anchor" "/link#anchor_1" "/link#anchor_2" "/link#anchor_3"
"/link#anchor_4") то есть соответственно должен открываться какой то один блок
$address = location;
if ($address.search.indexOf('#win')) {
$window_1.show('slow');
};
if ($address.search.indexOf('#mac')) {
$window_2.show('slow');
};
if ($address.search.indexOf('#android')) {
$window_3.show('slow');
};
if ($address.search.indexOf('#ios')) {
$window_4.show('slow');
};
Вот примерно так выглядит код, но при нажатии какой либо ссылки открываются все блоки,
как решить проблему?
Ответы
Ответ 1
Если вы будете хранить в хэше id требуемого блока, то тогда достаточно: var hash = location.hash; $(hash).show('slow');Ответ 2
let $address = location; let anchors = { win: $window_1, mac: $window_2, android: $window_3, ios: $window_4, }; for(let key in anchors) { if (~$address.search.indexOf(`#${key}`)) { anchors[key].show('slow'); } }
Комментариев нет:
Отправить комментарий