2016-04-15 2 views
0

У меня возникают проблемы, выполнив следующие действия:Динамическое свойство CSS jQuery?

var direction = "left"; 
$('#elem').css({"margin-"+direction: "50px"}); 

Разве это не возможно, чтобы иметь динамические свойства, как это?

Спасибо

+0

Да ... это возможно ... Демо: https://jsfiddle.net/cgtnd9wL/ –

ответ

0

.css(propertyname, value) имеет другой вариант, который может взять на себя имя и значение свойства в 2-х различных аргументов

var direction = "left"; 
$('#elem').css("margin-"+direction, "50px"); 

Если вы хотите использовать формат объекта, то вы можете использовать кронштейн нотацию назначать динамические свойства

var css = {}; 
css["margin-"+direction] = "50px"; 
$('#elem').css(css); 
+0

Есть ли все-таки сделать это с помощью скобок {}, поэтому я могу использовать несколько свойств в css()? потому что мне нужно сделать это: .css ({opacity: 0, display: "block", "margin-" + direction: "50px"}}). prom() (done (function() { – RON2015

+0

@RON вы можете используйте этот синтаксис: - css ({"propertyname": "value", "propertyname": "value", ...}); –

+1

@ RON2015 см. обновление ... снова использование обещаний бесполезно здесь 'css' не выполняет никакой операции async –

0

Удалить Curlybraces ({}) и двоеточие (:) в вашем коде Jquery, и попробуйте следующий код

var direction = "left"; 
$('#elem').css("margin-"+direction, "50px"); 
0

Вы можете создать объект JAVASCRIPT, а затем применить этот объект к CSS.

Пример кода:

var style = {property1:"value1", property2:"value2", property3:"value3"}; 

Затем вы можете использовать ниже синтаксис для применения выше свойства.

$('#element').css(style); 

Используя вышеуказанный способ, вы можете добавить динамические свойства и применить их с помощью jQuery.

Надеюсь, это поможет.

Смежные вопросы