Возникли проблемы с выяснением того, как использовать backgroundImage и backgroundPosition с методом DOm. Хотите использовать фоновое изображение и настроить позиционирование
window.onload = function() {
var slime = "url(https://www.dropbox.com/s/scdx0a0ck16abtv/slime.jpg?raw=1)";
document.getElementsByTagName('main').style.backgroundImage = "url(https://www.dropbox.com/s/scdx0a0ck16abtv/slime.jpg?raw=1)";
slime.style.backgroundPosition = '25% 75%';
};



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я разбиваю это и добавляю комментарии для ясности (однако то, что @A Haworth сказал выше, верно).
window.onload = function() {
// define and store image url with proper formatting
var slime = "url('https://www.dropbox.com/s/scdx0a0ck16abtv/slime.jpg?raw=1')";
// get the main element from the DOM (there are multiple ways of accomplishing this)
let main = document.querySelector('main');
// set background image of main element
main.style.backgroundImage = slime;
// set position of background image
main.style.backgroundPosition = '25% 75%';
)};
Свойства CSS "цепочка" называются стенография, которые могут применяться к некоторым свойствам CSS. К счастью, свойство backgound есть, вот список:
фон:
Он должен быть в таком порядке, разделенном пробелом, и любое значение может быть опущено (но необходимо хотя бы одно). Итак, ОП будет:
background: url(https://www.dropbox.com/s/scdx0a0ck16abtv/slime.jpg?raw=1) 25% 75%
/* You should add "no-repeat" betwwen -image and -position if the image dimensions
are smaller than the element's dimension, unless you want a wallpaper effect */
Этот property: value называется набор правил CSS. Чтобы фактически применить любой набор правил CSS к элементу, встроенному со свойством .style, нужно использовать вместе с ним метод .setProperty().
node.style.setProperty(property, value);
const main = document.querySelector('main');
const property = 'background';
const value = `url(https://www.dropbox.com/s/scdx0a0ck16abtv/slime.jpg?raw=1) 25% 75%`;
main.style.setProperty(property, value);html,
body {
width: 100%;
height: 100%
}
main {
min-height: 100%;
}<main></main>
Используйте средство проверки инструментов разработчика браузера, чтобы увидеть ошибки JS. Две насущные проблемы: вам нужно получить один основной элемент, а не коллекцию, и именно этот элемент вам нужно стилизовать, а не строку URL.