Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2013, 14:29
Аватар для Алек
Аспирант
Отправить личное сообщение для Алек Посмотреть профиль Найти все сообщения от Алек
 
Регистрация: 14.04.2013
Сообщений: 85

backgroundImage в методе .css()
Добрый день всем!
У меня проблема такая, я не могу заменить backgroundImage методом .css().
Я пишу:
$('.end_of_days').css({'backgroundImage':'url("../images/moto3.jpg")',
	'border':'1px solid red'
	});


Рамка появляется, но сам backgroundImage не меняется. В css ему прописаны правила background-image: url('../images/moto1.jpg');
Может я записал не так, гуглил, но ничего по этому поводу найти не смог.

Заранее большое спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2013, 14:50
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

а у меня работает
вангую, что браузер не может найти фотографию
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2013, 15:06
Аватар для Алек
Аспирант
Отправить личное сообщение для Алек Посмотреть профиль Найти все сообщения от Алек
 
Регистрация: 14.04.2013
Сообщений: 85

Я пробовал на фаерфоксе, хроме и опере, в том и дело что они не могут изображение найти. Вот только почему?
В таблице стилей изменяю правила для этого блока, всё работает, так что пути правильные, я подозреваю что сама запись
.css({'backgroundImage':'url("../images/moto3.jpg")'});

не верно записана.
Но как тогда ей записать верно?
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2013, 15:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Алек,
всё у вас верно если картинка именно там
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
<base href="http://javascript.ru/forum/images/">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<script>
$('body').css({'backgroundImage':'url("../images/ca_serenity/misc/logo.gif")',
    'border':'1px solid red'
    });
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 29.06.2013, 15:27
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

и тем не менее это у меня работает и везде должно работать
я уверен что ваш скрипт просто запутался в папках
попробуйте заменить относительный путь на абсолютный например
или поискать ошибки в firebug или chrome dev tools

вот как я сделал

файлы
  • ddd/index.html
  • photos/img.jpg
  • jquery.js

ddd/index.html
<!doctype html>
<html>
<head>
  <script src="/jquery.js"></script>
  <script>
  $(function() {
    $('.ccc').css({'backgroundImage': 'url("../photos/img.jpg")'});
  });
  </script>
  <style>
  .ccc {
    width: 100px;
    height: 100px;
  }
  </style>
</head>

<body>
  <div class="ccc"></div>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 29.06.2013, 16:00
Аватар для Алек
Аспирант
Отправить личное сообщение для Алек Посмотреть профиль Найти все сообщения от Алек
 
Регистрация: 14.04.2013
Сообщений: 85

Спасибочки! Разобрался,
оказалось путь не верный, мне же не надо на уровень выше было подниматься, как в стилях, вот правильная запись такая:
$('.end_of_days').css({'backgroundImage':'url("images/moto4.jpg")'});

Оказалось ../ здесь как лишняя запись.
Осталось только условия прописать для события click(), спасибо.
Ответить с цитированием
  #7 (permalink)  
Старый 29.06.2013, 16:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В css файлах путь указывается относительно css файла, а в html-документе - путь относительно документа.
Ответить с цитированием
  #8 (permalink)  
Старый 29.06.2013, 16:33
Аватар для Алек
Аспирант
Отправить личное сообщение для Алек Посмотреть профиль Найти все сообщения от Алек
 
Регистрация: 14.04.2013
Сообщений: 85

Да, действительно css файлы лежат в отдельной папке, поэтому когда меняю пути в css файлы из неё нужно выйти, а html файлы находятся не в папке, поэтому ../ выходить не от куда.
Посмотрел сейчас сгенерированный Веб девелопером код, вся работа происходит в html файле:
<div style="background-image: url(&quot;images/moto1.jpg&quot;);" class="end_of_days">
						<p style="left: 100px;" class="news_end">Мотоцикл</p>

Я просто думал что метод .css() работает с таблицей стилей.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов внешней функции в методе $.post Dimaz jQuery 4 11.12.2012 10:21
Установка цвета через функцию .css() сбрасывает цвет для :hover xintrea jQuery 4 18.08.2012 15:38
вопрос о методе on() dadli Общие вопросы Javascript 9 11.06.2012 01:03
не изменяется backgroundImage titans Events/DOM/Window 2 22.03.2012 22:50
Как указать в методе вид типа передаваемого аргумента? func(float $var) jsuse Серверные языки и технологии 2 29.02.2012 12:22