Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.08.2011, 01:53
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

Подсветка кнопки
Я понимаю, вопрос глупый, наверняка уже задавался, так что сильно не бейте

В общем у меня есть некий контейнер в роли кнопки, с пиктограммой на нём в виде стрелочки. Я хочу при наведении мышкой менять картинку на стрелочку другого цвета. Привязываю обработчики. И всё бы хорошо, да вот только DIV воспринимает движение мышью по пиктограмме как уход указателя и срабатывает mouseOut. Пробовал смотреть координаты события через объект event (в IE), не вышло, потому что координаты DIV-а не поределились. Пытался также привязать идентичный обработчик к пиктограмме, но тут проблема в том, что из-за всплытия обработчик родителя срабатывает позже, и моя "коррекция" улетает в трубу. Насколько я знаю, в IE невозможно принудительно задать обратный порядок обработки (перехват). Что в таких случаях нужно делать?

Есть правда мысль при вызове обработчика на картинке флажок ставить... но как-то вроде не вполне изящно)

Последний раз редактировалось popov654, 30.08.2011 в 01:55.
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2011, 01:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

курить бамбук
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2011, 09:11
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Это делается через CSS. Javascript тут вообще ни к чему. :hover, :active в помощь.
.some-container .button {
    background: url(../img/arraw.png) no-repeat 0 0;
}

.some-container .button:hover {
    background-image: url(../img/arrow-active.png);
}

Последний раз редактировалось ваый, 30.08.2011 в 09:14.
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2011, 17:57
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

Спасибо, я думал так можно только со ссылками)

Теперь следующая проблема: я не могу поменять фон самой кнопки, так как прозрачная почти целиком кроме треугольника иконка становится фоном, и поэтому в CSS нельзя указать фоновый цвет; в результате всё кроме стрелочки получается белым. Пробовал заворачивать всю кнопку в дополнительный DIV, не помогает
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2011, 17:59
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

Я бы конечно мог сделать фоновую картинку больше, залить её серым фоном... Но это как-то кхм...(
К тому же, я изначально вообще не предполагал, что картинка будет фоном, а хотел внедрять её внутрь как изображение.
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2011, 18:30
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

А что в чем лежит? Можно HTML привести?
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2011, 20:00
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

<table id="names">...</table>
<div class="nav" id="prev"></div>
<div id="marks"><table id="marksTable">...</table></div>
<div class="nav" id="next"></div>


Это классный журнал. Войти если интересно можно тут: http://popov654.pp.ru/livemarks/
Логин admin, пароль test
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2011, 20:01
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

Ну а картинка пока как бэкграунд к элементам #prev и #next...
Ответить с цитированием
  #9 (permalink)  
Старый 30.08.2011, 21:05
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Так а в чем проблема? Можно же одновременно указывать и цвет background-color, и фоновое изображение.
#next {
    left: 96%;
    background: *!*#DCDCDC*/!* url('next.png') no-repeat 0 33px;
}
Ответить с цитированием
  #10 (permalink)  
Старый 30.08.2011, 23:52
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

А почему тогда не работает так?

.nav {
    position: absolute;
    display: block;
    background-color: #BABABA;
    top: 70%;
    height: 60px;
    width: 20px;
    border: 1px solid #333333;
    padding-top: 32px;
}
#prev {
    left: 34%;
    background:url('prev.png') no-repeat 0 33px;
}
#prev:hover{
    background:url('prev2.png') no-repeat 0 33px;
}
#next {
    left: 96%;
    background:url('next.png') no-repeat 0 33px;
}
#next:hover{
    background:url('next2.png') no-repeat 0 33px;
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение ссылки на объект в обработчике нажатия кнопки pauluss ExtJS 1 22.06.2011 15:27
Подсветка области при клике Happening Общие вопросы Javascript 0 30.04.2011 15:01
заменяю один текст другим через прозрачность. кнопки конфликтуют. plishas Events/DOM/Window 7 12.01.2011 21:34
мыши, кнопки, event.button и other browsers, but not in IE idudiq Events/DOM/Window 1 03.10.2009 11:09
Проблема с меню для кнопки в Гриде progi2007 ExtJS 0 03.08.2009 14:16