2016-04-11 3 views
-1

Это не вопрос сам по себе, а больше, если он правильный. Я пытался добавить фоновое изображение в Javascript систочник изображения с точками в Javascript

.style.backgroundImage = "url('../images/image00.jpg')" 

, но это не сработало. Поэтому я удалить одну точку:

.style.backgroundImage = "url('./images/image00.jpg')" 

, и она работала. Я думал, что в CSS это две точки, чтобы вернуться назад? Почему это только один в Javascript?

Мой текущий вид папки так:

  • Папка 1
    • index.html
    • изображения
      • image.jpg
    • скрипты
      • scripts.js
    • стили
      • styles.css

это немного странно, что две точки не работают в JS, но работа в CSS (для меня).

Спасибо

+5

Это не имеет никакого отношения к CSS или JavaScript. Это просто путь к файлу. – Bergi

+0

хорошо, но почему это другое? – Nic727

+0

В отличие от чего? Это относительный путь к файлу, поэтому он зависит от расположения файла HTML с встроенным стилем или с файлом CSS. – Bergi

ответ

1

Одиночная точка правильная, если ссылаться на файл HTML. Это относится к тому, является ли CSS в HTML-файле или у вас есть JS, который влияет на CSS в HTML-файле.

Нотация двойной точки будет требоваться, если стиль был определен в файле styles.css, так как ему нужно перейти в один каталог, прежде чем снова вернуться в каталог изображений.

Это просто file path notation.

+1

Большое спасибо! – Nic727

2

Ваше понимание неверное. Это не одна точка в JS и две в CSS. Это связано с файловыми файлами и ссылками на файлы.

Если вы используете две точки, такие как document.body.style.backgroundImage = "url('../images/image00.jpg')", она поднимается на один уровень каталога и ищет файл там.

Одна точка, document.body.style.backgroundImage = "url('./images/image00.jpg')", как это означает, что она будет искать файл в текущем каталоге.

+0

Решение CSS было бы близко: style = "background-image url (./ images/image00.jpg);" – Sparky256

+0

Я добавил больше объяснений. – Nic727

+0

Большое спасибо! – Nic727