Любой способ взять значение CSS из другого элемента, и добавить его с другим? - PullRequest
3 голосов
/ 27 августа 2010

Я использую это прямо сейчас ...

if($('.current').hasClass('odd') && !$('.current').hasClass('even')) {
                        var oddMarL = $('.current img').css('margin-left'); 
                        var oddMarL2 = $('.touch').css('margin-left'); 
                        var oddMarT = $('.touch').css('margin-top'); 

                        oddMarL.replace('px', '');
                        oddMarL2.replace('px', '');
                        oddMarT.replace('px', '');

                        Math.abs(oddMarL,oddMarL2,oddMarT);

                        oddMarL = oddMarL + oddMarL2;

                        $('#zoom').css('margin-left',oddMarL);
                        $('#zoom').css('margin-top',oddMarT);
                    }

Что-то не так с моим кодом или просто невозможно?

Это работает, пока я не добавлю 2 значения вместе или когда я использую math.abs. В консоли ошибок указано, что поле left не может быть проанализировано.

У меня есть причины для этого, поэтому, пожалуйста, не рекомендуйте использовать класс! :) спасибо.

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Функции replace и Math.max не работают так, как, по-видимому, предполагается в вашем коде. Они возвращают значения:

oddMarL = oddMarL.replace('px', '');

и

oddMarL = Math.abs(parseInt(oddMarL, 10));

необходимы для фактического изменения значений. Вы должны сделать то же самое с другими переменными.

0 голосов
/ 27 августа 2010

попробуйте также:

$('#zoom').css('margin-left',oddMarL+'px');
$('#zoom').css('margin-top',oddMarT+'px');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...