извлечь число из значения свойства - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь создать анимацию, при нажатии кнопки элемент div должен переместиться влево на 300 пикселей, изменив левое поле и остановиться.

Я получаю значение левого поля, нокогда я пытаюсь извлечь из него 300 px, он говорит, что var moveto не является числом, а значение current_left_margin равно 0px, как я могу получить это значение как число, без px?

вот мой полный код:

function get_vars() {           
        elem = document.getElementById('front-slide');
    }
window.onload = get_vars;

function vb_anim() {
        var interval = setInterval(anim, 10);

        var elemstyle = window.getComputedStyle(elem);

        var elemvidth = elemstyle.width;

        var current_left_margin = elemstyle.getPropertyValue('margin-left');
        var moveto = current_left_margin - 300;
            console.log('current_left_margin= ' + current_left_margin );
            console.log('moveto= ' + moveto );
        var pos = 0;
        function anim() {
            if (pos == moveto) {
                clearInterval(interval);
            } else {
                pos--;
                elem.style.marginLeft = pos + 'px';
            }
        }
    }

1 Ответ

1 голос
/ 12 октября 2019

Это должно сделать:

var current_left_margin = parseInt(elemstyle.getPropertyValue('margin-left'));

Если нет, то:

 var current_left_margin = parseInt(elemstyle.getPropertyValue('margin-left').replace('px', ''));
...