Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   задать Background активной ссылки по ID (https://javascript.ru/forum/dom-window/13325-zadat-background-aktivnojj-ssylki-po-id.html)

Funkyou 26.11.2010 10:09

задать Background активной ссылки по ID
 
Помогите пожалуйста, в JS я не силен.
Вообщем есть такой скрипт:

<script>
onload = function ()
{
for (var lnk = document.links, j = 0; j < lnk.length; j++)
if (lnk [j].href == document.URL) lnk [j].style.background = 'url(images/menubg.png)',
lnk [j].style.color = '#fff';
}
</script>

Но используя его на странице, он задает фон и цвет всем ссылкам документа, а мне нужно чтобы фон и цвет задавлся только ссылкам меню. Например с id="ssylka".
Пытался сделать с getElementById, но ничего не получилось, так как в JS не рублю..

monolithed 26.11.2010 10:20

Что вам с помощью CSS помешало это сделать?
<script type="text/javascript">
window.onload = function(){
    var a = document.getElementById('menu').getElementsByTagName('a'), i = a.length;
    while(i--){
        a[i].style.cssText = 'background: green; color: red';
    }
};
</script>

<div id="menu">
    <a href="#">link1</a>
    <a href="#">link2</a>
    <a href="#">link3</a>
</div>
</script>

Funkyou 26.11.2010 10:33

вашим способом он задает фон (green) всем ссылкам, а мне необходимо только активной

и насколько мне известно с помощью CSS не получится задать фон-изображение активной ссылке, он будет виден только при нажатии на ссылку

monolithed 26.11.2010 10:40

Цитата:

Сообщение от Funkyou
вашим способом он задает фон (green) всем ссылкам, а мне необходимо только активной

Как задали вопрос, такой и получили ответ. В следующий раз излагайте свои мысли конкретней!

Что в вашем понимании?
Цитата:

Сообщение от Funkyou
а мне необходимо только активной


ksa 26.11.2010 10:45

Цитата:

Сообщение от Funkyou
не нужно чтобы фон и цвет задавлся только ссылкам меню. Например с id="ssylka".

Так?

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
#ssylka:hover {
	color: red;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<a href='#' id=''>test 1</a>
<a href='#' id='ssylka'>ssylka</a>
<a href='#' id=''>test 2</a>
</body>
</html>


Цитата:

Сообщение от Funkyou
насколько мне известно с помощью CSS не получится задать фон-изображение активной ссылке

Поразительное неверие в "возможности" цсс... :D

Funkyou 26.11.2010 10:47

скрипт в первом посте работает так как надо, задает фон-изображение активной ссылке, т.е. той, которая ведет на страницу на которой я нахожусь, но он так же задает этот же фон и всем остальным ссылкам в документе. А мне нужно чтобы скрипт работал только ссылками находящимися в блоке "menu"

Funkyou 26.11.2010 10:49

Цитата:

Сообщение от ksa
Поразительное неверие в "возможности" цсс...

Hover задает фон ссылке только при наведении мыши, а мне нужен эффект как от a:active, только вместо цвета фона - задать фон-изображение

ksa 26.11.2010 10:50

Цитата:

Сообщение от Funkyou
А мне нужно чтобы скрипт работал только ссылками находящимися в блоке "menu"

Таки поменяй его... Кто мешает?

Kolyaj 26.11.2010 10:51

Цитата:

Сообщение от Funkyou
задает фон-изображение активной ссылке, т.е. той, которая ведет на страницу на которой я нахожусь

Придумают термины, а потом удивляются, что их не понимают.

Funkyou 26.11.2010 10:52

Цитата:

Сообщение от Kolyaj
Придумают термины, а потом удивляются, что их не понимают.

Какой именно термин я придумал?


Часовой пояс GMT +3, время: 17:26.