Какой правильный способ подачи правила стиля CSS в качестве параметра в функции Javascript?

1

Каков правильный способ стилизации элемента canvas HTML через функцию, которая принимает любое правило и значение стиля в качестве параметров? Да, я знаю, что прямой подход Javascript будет работать. Функция setCSS() представляет собой тестовый стенд для функции setCSS() версии 2, которая предназначена для установки нескольких стилей CSS, используя массив объектов (ключ, значения) в качестве параметров, так что каждый объект представляет собой одно свойство CSS. Вот что у меня есть, что не работает:

    function init() {
        'use strict';
        let can = document.getElementById('canvas');
        let ctx = canvas.getContext('2d');
        resizeBlock(can, 50, 50);
 // Tried both forms individually by commenting out other function
        setCSS(can, 'borderWidth', '20px');// not working
        setCSS(can, 'borderWidth', '20');// not working
    }

    function setCSS(element, rule, value) {
        element.style.rule = value;
        return element; // should element return or not?
    }
  • 3
    window.onload = init; без скобок.
  • 1
    В вашем примере: window.onload = init(); то же самое, что и window.onload = undefined потому что выполнение init дает undefined (ничего не возвращает). Вместо этого вам не следует выполнять функцию, просто передайте ссылку на нее, чтобы она могла быть вызвана при загрузке окна.
Показать ещё 3 комментария
Теги:
functional-programming
html5-canvas
parameters

1 ответ

1

init - это функция, init() является результатом вызова функции.

Так что это сработает:

window.onload = init;

Также вы можете поместить его после определения функции init().

function init() { ...snip... }
window.onload = init;
  • 2
    Не обязательно после определения функции. Читайте о переменном подъеме .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню