简体   繁体   中英

extract a number from a property value

I am trying to create an animation, when a button is pressed, the div have to move to left 300 px by changing the left-margin,and stop.

I get the left margin value, but when I try to extract 300 px from it, it says that the var moveto is not a number, and current_left_margin`s value is 0px, how can I get this value to be a number, without the px?

here is my full code:

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';
            }
        }
    }

This should do:

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

If not, then:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM