 |
Замена изображений в javascript |
 |
16.09.2009, 00:06
|
#1
|
|
Постоялец
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
|
Замена изображений в javascript
Правильно ли сделал замену изображений?
<td class="nav5">
<a href="javascript:void(0)" onMouseOut="rollImage('0','out')" onMouseOver="rollImage('0','over')" onMouseDown="rollImage('0','down')" title="О нас"><img src="img/nav5.gif"></a>
</td>
<head>
<script type="text/javascript" language="javascript">
<!--
//Массив для хранения изображений версий "нажатия"
var overImg = new Array ();
overImg[0] = new Image (24,24);
//Массив для хранения изображений версий "курсор поверх изображения"
var downImg = new Array();
downImg[0] = new Image(24,24);
//Массив для хранения изображений по умолчанию
var defaultImg = new Array ();
defaultImg[0] = new Image (24,24);
//Загрузка over-изображений
overImg[0].src = "img/nav5_2.gif";
//Загрузка down-изображений
downImg[0].src = "img/nav5_1.gif";
//Загрузка изображений по умолчанию
defaultImg[0].src = "img/nav5.gif";
//Изменения состояния изображения в зависимости от пришедшего события
function rollImage(img,type)
{
switch(type)
{
case "over":
document.images[img].src = overImg[img].src;
break;
case "out":
document.images[img].src = defaultImg[img].src;
break;
case "down":
document.images[img].src = downImg[img].src;
}
}
//-->
</script>
</head>
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни
|
|
|
|
 |
16.09.2009, 00:22
|
#2
|
|
Постоялец
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
|
Навигация? А не проще в этом случае сделать css'ом (псевдоклассом hover)?
|
|
|
|
16.09.2009, 14:19
|
#3
|
|
Постоялец
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
|
А как сделать так чтобы после нажатия рисунок изменился?
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни
|
|
|
|
 |
|
 |
16.09.2009, 15:30
|
#4
|
|
Постоялец
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
|
Пример.
Код:
<head>
<style type="text/css">
body, div, ul, li {
margin: 0;
padding: 0;
}
#wrap {
padding: 20px;
}
#menu {
list-style: none;
}
#menu li {
float: left;
}
#menu li a {
display: block;
padding: 10px;
border-top: solid 2px #ccc;
background-color: #efefef;
text-decoration: none;
color: #555;
font: 13px "Trebuchet MS";
}
#menu li a:hover {
border-top: solid 2px #666;
background-color: #e7e7e7;
color: #222;
}
#menu li a:active {
border-top: solid 2px #c77;
}
</style>
<title> ololo </title>
</head>
<body>
<div id="wrap">
<ul id="menu">
<li><a href="#"> first element </a></li>
<li><a href="#"> second element </a></li>
<li><a href="#"> third element </a></li>
</ul>
</div>
</body>
Если используется изображение, то используй спрайты. То есть один граф. файл с тремя состояниями кнопки. Тогда можно будет не менять изображение целиком, а менять лишь позицию. Пример: background: url(../img/pic.gif) 0 0 no-repeat; по умолчанию и background: url(../img/pic.gif) 128px 0 no-repeat; при hover'е. В этом случае не будут производиться дополнительные запросы на сервер за пикчей и пользователю не придется ждать загрузки при наведении (ибо она уже загружена).
Последний раз редактировалось rohard, 16.09.2009 в 15:45.
Причина: не все сказал.
|
|
|
|
 |
18.09.2009, 10:10
|
#5
|
|
Постоялец
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
|
Я вот никак не могу понять, что это за display:block
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни
Последний раз редактировалось Renovatio, 19.09.2009 в 10:20.
|
|
|
|
18.09.2009, 10:29
|
#6
|
|
Постоялец
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
|
Цитата:
Сообщение от Renovatio
Я вот никак не могу понимать, что это за display:block
|
Чтобы элемент вел себя как блок.
Спецификация для кого написана?
__________________
Почти.
|
|
|
|
18.09.2009, 18:38
|
#7
|
|
Постоялец
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
|
Цитата:
Сообщение от rohard
Чтобы элемент вел себя как блок.
|
По подробнее можешь объяснить
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни
Последний раз редактировалось Renovatio, 19.09.2009 в 10:20.
|
|
|
|
18.09.2009, 18:41
|
#8
|
|
SuperVisor TF2
Regis Filius вне форума
Регистрация: 21.06.2008
Сообщений: 623
|
Элементы блочного типа занимают всю доступную ширину, в то время как элементы встроенного типа занимают только ту площадь, которая им необходима. Короче блочные это по умолчанию div, а встроенные span.
Здесь это надо для ссылок, чтобы был эффект кнопки, а не просто ссылочный текст.
|
|
|
|
18.09.2009, 19:02
|
#9
|
|
Постоялец
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
|
Я сейчас проверить не могу, но в IE6, скорее всего, будет одна "фича" - при наведение на область отступа ссылок, стиль меняться не будет. Стиль будет меняться только при наведении на текст.
__________________
Почти.
|
|
|
|
18.09.2009, 23:26
|
#10
|
|
Постоялец
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
|
Цитата:
Сообщение от rohard
Я сейчас проверить не могу, но в IE6, скорее всего, будет одна "фича" - при наведение на область отступа ссылок, стиль меняться не будет. Стиль будет меняться только при наведении на текст.
|
Проверил. Естественно, так и есть. Лечится добавлением overflow: hidden; в #menu li
__________________
Почти.
|
|
|
|
| Опции темы |
|
|
| Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
|
Часовой пояс GMT +9, время: 11:32. |
|
|