2012-04-02 7 views
1

У меня есть следующий код в моем внешнем JS файл:синтаксис JS разбивает страницу

var myDiv = $(".myDiv"); 

if (myDiv.css('left') == 'auto') { 
    var pos = myDiv.position(); 
    myDiv.css({ "left:" + pos.left + "px", "top:" + pos.top + "px" }); 
} 

Оказывается, что следующая строка разбивает мою страницу:

myDiv.css({ "left:" + pos.left + "px", "top:" + pos.top + "px" }); 

Если я закомментировать все работает отлично, за исключением этой функциональности, очевидно.

И если я ставлю значения в предупреждении, я получу их правильно.

alert(pos.left + ' ' + pos.top) 

Что мне не хватает?

ответ

7

Вы пытаетесь создать команду object, перейдя по ссылке 2 strings.

Если, вероятно, выглядеть следующим образом:

myDiv.css({ 
    "left": pos.left + "px", 
    "top": pos.top + "px" 
}); 
+1

Действительно Д momnt ... спасибо , – santa

4

Простого исправление, используйте объекты JavaScript для свойств CSS. Перемещение двоеточия вне кавычек:

myDiv.css({ "left": pos.left + "px", "top": pos.top + "px" });

-1

Вам нужны в кавычках значений в объекте вы передаете функции .css():

myDiv.css({ "left: '" + pos.left + "px'", "top: '" + pos.top + "px'" }); 
+0

Это еще недействительный синтаксис объекта JS. Это должно быть: '{key: val, key: val}' –

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