Вид активной ссылки, как реализовать на js

12
Varkolak
На сайте с 03.06.2005
Offline
174
1380

Вот столкнулся с проблемкой, надо сделать менюшку на java script, в программе все делается нормально (за исключением огромного количества не нужного кода), но нет возможности указать вид активной ссылки.

Короче, подскажите как реализовать меню (для примера одну ссылку) что б при наведении менялась картинка, а если эта страница активна то оставалась в таком же виде как и при наведении. Ссылка ввиде изображения.

P.S. уже час гуглю и толка нет ( .

html/css/js верстка и разработка сайтов на hostcms (хостцмс) - skype: varkolak1, тел: 89675012935, e-mail: anton.yurzanov@gmail.com
DG
На сайте с 07.01.2007
Offline
53
#1

Для смены картинки попробуй использовать onmouseover="", например <img src="some.jpg" onmouseover="change(1);" id="1">

А если страница активная, то на ней тупо поменяй изображение и все (без яваскрипта).

Но не думаю, что открыл для тебя Америку.

мой блог - заработок в сети (http://izombie.ru)
Varkolak
На сайте с 03.06.2005
Offline
174
#2
DimoninG:
А если страница активная, то на ней тупо поменяй изображение и все (без яваскрипта).

сайт на движке стоит, был бы на html то проблем не было бы

DG
На сайте с 07.01.2007
Offline
53
#3
Varkolak:
сайт на движке стоит, был бы на html то проблем не было бы

Там принцип аналогичный на самом деле. При открытии страниц должны передаваться какие-то параметры (это понятно - чтобы определять, какая страница открыта). Там, где выводится изображение нужно поставить if и проверить - если эти параметры равны открытой странице, то ставить другое изображение.

Varkolak
На сайте с 03.06.2005
Offline
174
#4

DimoninG, да разбирался бы я в программировании, то и проблем не было (

DG
На сайте с 07.01.2007
Offline
53
#5

А, вот как :(

Мне кажется, с этого надо было и начинать. Какая CMS, URL сайта?

Varkolak
На сайте с 03.06.2005
Offline
174
#6

cms snews, меню то статичное будет так что это не особо важно, так что можно проверять адрес страницы, сайт на локалке стоит.

Varkolak
На сайте с 03.06.2005
Offline
174
#7

Со сменой разобрался:


<script type="text/javascript" language="JavaScript">
function changeImg(source)
{ document.pict.src = source + '.gif';
};
</script>


<a href="index2.html"><img src="02.gif" name="pict" border="0"
onMouseOver="changeImg('02a')"
onMouseOut="changeImg('02')" style="cursor:pointer;" /></a>

Теперь нужно условие прикрутить, скажите как пожалуйста.

Kolyaj
На сайте с 28.03.2006
Offline
69
#8

Varkolak, все намного проще сделать через CSS. Картинки у ссылок вставляем через фон, в самих ссылках нормальные ключевики.


a {
display: block;
background: url('image1.gif');
width: 0px;
padding-left: 200px;
overflow: hidden;
}
a:hover {
background: url('image2.gif');
}

Реальная ширина ссылки тут указывается в padding-left, за счет чего не будет видно текст, а только картинку.

И не забываем указать для IE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
а то работать в нем не будет.

А ссылку на текущую страницу лучше распознать на стороне сервера (если конечно это возможно) и сделать ей отдельный класс, в котором отменить :hover.

Ayavryk
На сайте с 11.10.2003
Offline
209
#9

Varkolak Посмотрите здесь: /ru/forum/92087

Kolyaj, в 90% случаев эффективнее не картинку менять, а background-position. В этом случае ет необходимости в предзагрузке картинки.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
Kolyaj
На сайте с 28.03.2006
Offline
69
#10

Ayavryk, согласен.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий