Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2009, 08:17
Shanks
 
Сообщений: n/a

Подменю на сайте, можно ли как-нибудь упрастить код?
Цель сделать, чтобы при нахождения юзера на сайте, автоматом подсвечивался раздел, в котором он находится, раздел определяется и подсвечивается из названия страницы, код следующий:

<script>
function load()
{
if (window.location.href.indexOf("page-game-n")!= -1)
{
document.getElementById("page-game-n").className = "select_link";
}
}
</script>

Получается, если писать это к каждой ссылки, выйдет довольно длинный скрипт. Возможно ли так сделать, чтобы скрипт автоматом сверял ID каждой ссылки на странице, и если хоть один ID совпадал с названием текущей страницы, то раздел подсвечивался?
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2009, 11:09
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

ссылки расположены одним блоком?
допустим у вас код вроде этого
<div id="link_block">
<a href="" id="page-game-0">qwe</a>
<a href="" id="page-game-1">qwe</a>
<a href="" id="page-game-2">qwe</a>
<a href="" id="page-game-3">qwe</a>
</div>

тогда код может быть например таким:
function load()
{
links=document.getElementById("link_block").getElementsByTagName('a');
for(i=0,s=links.length;i<s;i++)
{
id=links[i].id;
if (window.location.href.indexOf(id)!= -1)
{
links[i].className = "select_link";
}
}
}
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2009, 16:01
Shanks
 
Сообщений: n/a

Отлично решение! спасибо за оптимизацию!
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2009, 16:03
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

подалуйста
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2009, 04:04
Shanks
 
Сообщений: n/a

И еще один момент, скрипт работает по событию <body onLoad="load()">
Как перенести его запуск по событию onLoad в секции <script>?
window.onLoad = load(); что-то не работает.
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2009, 07:03
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

Сообщение от Shanks
window.onLoad = load(); что-то не работает.
Регистр имеет значение
window.onLoad = load();//неправильно
window.onload = load();//правильно


Сообщение от Shanks
Как перенести его запуск по событию onLoad в секции <script>?
расположите тег <script> после своего меню в HTML-разметке
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно обойти блокировку всплывающих окон? azazello Общие вопросы Javascript 12 20.07.2015 11:18
как узнать html код документа, подгруженного в iframe alexKniaz Events/DOM/Window 7 03.12.2008 12:37
Как можно прикрепить звук к символу? Дима1234 Общие вопросы Javascript 1 16.10.2008 17:27
как можно дебажить JavaScript кроме Firebug? subaru Общие вопросы Javascript 4 02.07.2008 11:16
как разодрать код scuter Общие вопросы Javascript 1 25.04.2008 21:39