2014-01-24 5 views
7

Код ниже работает в хром, но не в firefox. предупреждение показывает правильный запас в хроме, в то время как в firefox он всегда показывает 0px.получить маржу слева, используя jquery, не работающий в firefox

HTML:

<div class="center">14</div> 

CSS:

.center { 
    margin: 0 auto; 
    width: 200px; 
    background-color: #ccc; 
} 

JQuery: Я использую последний JQuery библиотеки

$(function(){ 
    var center = $('.center').css('margin-left'); 
    alert(center); 
}); 

Пожалуйста, смотрите jsfiddle в обоих светлячок и хром: http://jsfiddle.net/vtbuz/2/

+0

Что отображается в Chrome? – rednaw

+0

Он показывает значение margin-left в px, но в firefox это всегда 0px http://jsfiddle.net/vtbuz/2/ см. Эту скрипту как в Chrome, так и в firefox –

+0

Пожалуйста, разместите свое решение в качестве ответа на свой вопрос и затем принять его. Это помогает другим читателям и держит сайт ценным ресурсом. – rednaw

ответ

6

Это решение:

var center = $('.center').offset().left; 

с помощью этого мы можем получить правильное левое положение по отношению к документу.

0

Изменение margin-left в marginLeft

working demo

+0

не работает см. Это в firefox и chrome http://jsfiddle.net/vtbuz/2/ –

0

Попробуйте для определения запаса в FF: @ -moz-документ URL-префикс() {(правила CSS)}

0

извлечение стенографические свойства CSS (например, margin, background, ), хотя и не работают с некоторыми браузерами. Например, если вы хотите получить обработанные границы ширину, использование: $ (эль) .css ("borderTopWidth"), $ (эль) .css ("borderBottomWidth" ), и так далее

http://api.jquery.com/css/

Вы можете попробовать

$('.center').css('marginLeft'); 
+0

Я пробовал это, но не работал http://jsfiddle.net/vtbuz/2/ –

+0

@KrishnaPalSingh Похоже, что работа работает на firefox if вы установили это свойство в css .. см. demo -> http://jsfiddle.net/vtbuz/7/ –

+0

, но я хочу рассчитать свойство div margin-left. –

0

Попробуйте следующие

var center = $('.center').css("margin-left" : "200px"); 

Если вы хотите получить значение css; используйте parseInt() вокруг результата, чтобы включить его в числовое значение.

var center = parseInt($('.center').css("margin-left")); 

Окончательное решение

Рабочая Демо - http://jsfiddle.net/tsspinal/zVr6W/1/

$(function(){ 
    var center = $('.center').css('marginLeft'); 
    alert(center); 
    var left = ((parseInt($(window).width() - $('.center').width())/2)-8 + "px"); 
    alert(left); 
}); 
+0

Я пытаюсь получить свойство margin-left, используя jquery, не хочу его устанавливать. –

+0

Отредактировал свой ответ. Надеюсь, что поможет –

+0

чувак, см. Мой код parseInt только дать 0 вместо 0px. см. скрипку –

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