Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.12.2009, 18:39
Аспирант
Отправить личное сообщение для digital_sword Посмотреть профиль Найти все сообщения от digital_sword
 
Регистрация: 20.08.2009
Сообщений: 34

Jquery. Изменение background-image
Как изменить background-image с помощью Jquery?
Делаю так:
$("#round2").hover(function() {
	$(this).animate({background-image:'url(images/round2.gif)'});
}, function() {});



пока глухо. Предложения есть?
Ответить с цитированием
  #2 (permalink)  
Старый 07.12.2009, 18:56
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Бр-р! Какое значение Вы собираетесь анимировать у background-image?
$(this).css('backgroundImage', 'url(…)');
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2009, 19:03
Аспирант
Отправить личное сообщение для digital_sword Посмотреть профиль Найти все сообщения от digital_sword
 
Регистрация: 20.08.2009
Сообщений: 34

не работает ни
$(this).css({'backgroundImage', 'url(images/round2.gif)'});

ни
$(this).css({'backgroundImage', 'url(http://reklama.rus/themes/garland/images/round1.gif)'});


background-Image писал с черточкой и без
Ответить с цитированием
  #4 (permalink)  
Старый 07.12.2009, 19:17
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от digital_sword Посмотреть сообщение
не работает
Странно.

<script type="text/javascript" src="/misc/pack.2.js"></script>
<div id="my" style="height: 100px; background: crimson">Наведите на этот див</div>
<script>
$("#my").hover(function(){
$(this).css('backgroundImage', 'url(http://javascript.ru/forum/images/ca_serenity/misc/logo.gif)')
})
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2009, 19:21
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

digital_sword,
Ах, вот, в чем дело!
Синтаксис:
.css('параметр', 'значение')

или
.css({'параметр': 'значение', 'параметр': 'значение', …});

но не
.css({'параметр', 'значение'});
Ответить с цитированием
  #6 (permalink)  
Старый 07.12.2009, 19:47
Аспирант
Отправить личное сообщение для digital_sword Посмотреть профиль Найти все сообщения от digital_sword
 
Регистрация: 20.08.2009
Сообщений: 34

Спасибо! Работает!
И еще вопрос: сделать срабатывание только на удалении мыши с объекта.
В справке: hover( over, out ). Over. Функция, запускающаяся, когда курсор мыши проходит над соответствующим элементом. А как опять же пользоваться?
$("#round2").hover(function(over) {
 $(this).css('backgroundImage', 'url(/themes/garland/images/round1.gif)');
}, function() {});


не дает результата.
т.е. нужна элементарная смена картинки при наведении и возврат в нач.положении при уведении курсора
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2009, 22:02
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Так это, второй параметр у метода hover, а не у функции, которая первый параметр.

<script type="text/javascript" src="/misc/pack.2.js"></script>
<div id="my" style="height: 100px; background: crimson">Наведите на этот див</div>
<script>
$("#my").hover(
	function(){
		$(this).css('backgroundImage', 'url(http://javascript.ru/forum/images/ca_serenity/misc/logo.gif)')
	},
	function(){
		$(this).css('backgroundImage', 'none')
	}
);
</script>


Кстати, а Вы уверены, что в Вашем случае нельзя обойтись голым CSS?
Как писал в своем блоге кто-то из разработчиков Оперы,
Цитата:
предоставьте это браузеру
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2009, 22:19
Аспирант
Отправить личное сообщение для digital_sword Посмотреть профиль Найти все сообщения от digital_sword
 
Регистрация: 20.08.2009
Сообщений: 34

Спасибо! Работает как надо!
Значит вторая функция в событии описывает действие при завершении действия события? Или нет?
А все-таки, это можно решить аргументами over? Случай ж не единственный, знание аргументов пригодится.
Сообщение от subzey Посмотреть сообщение
Кстати, а Вы уверены, что в Вашем случае нельзя обойтись голым CSS?
Голый css не сделает плавную смену фона, которую я хочу ввести с функцией animate. И еще jquery у меня и так в этом скрипте используется. Просто пара строк довеска в него.
Ответить с цитированием
  #9 (permalink)  
Старый 07.12.2009, 22:40
Новичок на форуме
Отправить личное сообщение для smok Посмотреть профиль Найти все сообщения от smok
 
Регистрация: 07.12.2009
Сообщений: 5

Сообщение от digital_sword Посмотреть сообщение
А все-таки, это можно решить аргументами over?
Здесь это используется.. 1ая функция - onmouseover, 2ая - onmouseout, просто они не подписаны
Ответить с цитированием
  #10 (permalink)  
Старый 07.12.2009, 23:38
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от digital_sword
Просто пара строк довеска в него.
...и баржа выполняющегося кода при каждом mouseover/mouseout над элементом. Но дело Ваше, хехе.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery - Как получить полный путь? kirill.adw jQuery 5 20.11.2009 17:40
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16
Как правильно подгрузить jQuery Siton jQuery 4 15.06.2009 09:54
Сложный случай jQuery + AJAX + динамическое изменение страницы Opera/IE no. Общие вопросы Javascript 2 24.02.2009 04:24
background image, справочник igor1102828 Элементы интерфейса 2 23.03.2008 18:53