Расширение скрытого div с помощью ссылки с внешней страницы - PullRequest
1 голос
/ 09 июля 2009

У меня есть скрипт, который скрывает (отображает: нет) определенные div в списке при загрузке страницы. Содержание Div представляет собой описание книги, а весь список - это своего рода библиография. Каждый div имеет идентификатор, например, «div1», «div2» и т. Д.

<ul>  
<li><div class="hidden" id="div1"></li>  
<li><div class="hidden" id="div1"></li>   
...  
</ul> 

И есть еще одна страница с меню, которое состоит из привязанных ссылок на каждый такой div:

<ul>  
<li><a href="bibl.html#div1"></li>  
<li><a href="bibl.html#div2"></li>  
...  
</ul>  

Я хочу, чтобы скрытый div автоматически расширялся при нажатии на ссылку на другой странице. Я попробовал кое-что из window.location.href, но безрезультатно - мой JS еще слаб. Как я понимаю, логика должна взять текущий URL и проверить его на «#», а затем найти элемент с частью справа в атрибуте id. Большое спасибо добрым людям.)

Ответы [ 3 ]

6 голосов
/ 09 июля 2009

Вы можете сделать что-то подобное на целевой странице:

window.onload = function() {
    var hash = window.location.hash; // would be "#div1" or something
    if(hash != "") {
        var id = hash.substr(1); // get rid of #
        document.getElementById(id).style.display = 'block';
    }
};

По сути, вы проверяете при загрузке страницы, имеет ли href окна прикрепленный хэш Если это так, вы найдете <div> и измените отображение стиля на блокировку.

0 голосов
/ 09 июля 2009

Спасибо! Я понял, вы можете добавить это

location.href = '#' + id;

, а также прокрутить страницу до позиции указанного элемента.

0 голосов
/ 09 июля 2009

Вы можете использовать window.location.hash, чтобы увидеть значение хеша. Оттуда вы можете getElementById(hashValue) и показать его.

...