Jump to content
  • 0

Горизонтальное менб с использованием js


Belovsan
 Share

Question

Ох, понимаю, что нужно учить js. Но сейчас столько всего навалилось на мои плечи, что просто физически не успеваю. А тут как раз необходимо небольшую задачу решить, и конечно же без скрипта здесь никуда. Прошу подсказать решение. Буду очень благодарен -_-

В общем, есть меню: http://rubanys.narod.ru/menu/index.html

На его внешний вид и позиционирование особо внимание не обращайте. Я это поправлю. Меня интересует такой момент. Вот при наведении на пункты меню - меняется фоновая картинка. Мне надо чтобы когда скажем посетитель находится на странице, например, "Услуги", чтобы этот пункт как раз был с той фоновой картинкой, что и при наведении. Когда посетитель не находится ни на одной из страниц пункта меню, чтоб все пункты были такими как они сейчас, с теми же бэкграундами.

Каюсь, понимаю, что позор мне, не знающему js, но может быть кто-нибудь сжалится и поможет? ;)

Edited by Belovsan
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Ох, понимаю, что нужно учить js. Но сейчас столько всего навалилось на мои плечи, что просто физически не успеваю. А тут как раз необходимо небольшую задачу решить, и конечно же без скрипта здесь никуда. Прошу подсказать решение. Буду очень благодарен -_-

В общем, есть меню: http://rubanys.narod.ru/menu/index.html

На его внешний вид и позиционирование особо внимание не обращайте. Я это поправлю. Меня интересует такой момент. Вот при наведении на пункты меню - меняется фоновая картинка. Мне надо чтобы когда скажем посетитель находится на странице, например, "Услуги", чтобы этот пункт как раз был с той фоновой картинкой, что и при наведении. Когда посетитель не находится ни на одной из страниц пункта меню, чтоб все пункты были такими как они сейчас, с теми же бэкграундами.

Каюсь, понимаю, что позор мне, не знающему js, но может быть кто-нибудь сжалится и поможет? ;)

Вам не JS, а php нужно...

На пхп все довольно просто будет, определяете на какой странице находитесь (можно по урл например) и вписываете необходимому пункту меню альтернативный класс...

Link to comment
Share on other sites

  • 0
Вам не JS, а php нужно...

На пхп все довольно просто будет, определяете на какой странице находитесь (можно по урл например) и вписываете необходимому пункту меню альтернативный класс...

Не, у меня данный сайт не на движке, а на html страничках. Тут только js мне может помочь.

Link to comment
Share on other sites

  • 0

А если у вас там одни html странички то кто вам мешает на разных страницах собственноручно расставить классы элементам меню? Вы просто поймите сделать на js это вполне реально, но это будет абсолютно не нужный код...

Link to comment
Share on other sites

  • 0

Ай-яй-яй... столько дел -_-

function setActiveItem(id, clName) {
var cont = document.getElementById(id);
var links = cont.getElementsByTagName('a');

for (var i = 0, l = links.length; i < l; i++) {
if (links[i].href == location.pathname) {
links[i].className = clName;
}
}
}

window.onload = function() {
setActiveItem('id_контейнера_с_ссылками', 'имя_класса_активной_ссылки');
}

href у ссылки должен начинаться со слеша. Вложенных папок быть не должно. Если хочется чтоб работало со вложенными папками, то деньги готовьте ;)

Link to comment
Share on other sites

  • 0

Что-то не работет -_-. Вытащил из папки. Поставил слеш. Сделал для класса активной ссылки изменённый цвет шрифта, но ничего не работает. Вот:http://rubanys.narod.ru/index.html

(изменения сделал только в index.html, но при заходе на эту страницу ничего не работает). Что не так сделал?

stars, надо подумать как лучше реализовать это дело. Возможно, действительно так будет лучше.

Точно, так будет лучше. Вот расшарил немного это дело классами и вроде всё красиво и ненавязчиво получается. Спасибо за мысль! ;)

Edited by Belovsan
Link to comment
Share on other sites

  • 0
Скрипт должен быть на каждой странице.

Но если у меня скрипт сейчас на главной странице, то при переходе на главную страницу всё должно же работать. Или вы думаете, что если я его поставлю на все страницы, то что-то на главной поменяется? -_-

Link to comment
Share on other sites

  • 0
Но если у меня скрипт сейчас на главной странице, то при переходе на главную страницу всё должно же работать. Или вы думаете, что если я его поставлю на все страницы, то что-то на главной поменяется? -_-

Нет, значит вы не провели замену

location.pathname
id_контейнера_с_ссылками
имя_класса_активной_ссылки

Link to comment
Share on other sites

  • 0
И не будет работать, в скрипт надо написать исключение для главной. А вообще на главной можно и руками подсветить пункт. И вообще все это извращение!

Поставил всё на главную и пункт "кому это нужно" - не работает. Просто разобраться хочу. Ведь где-то что-то не так делаю наверное. -_-

Edited by Belovsan
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy