我正在尝试从样式属性获取translat3d的第一个值。
在真实的应用程序中,.css('transform')无法正常工作,因此这就是为什么我使用attr.('style'...)的原因

有人可以解释一下如何获取translate3d的第一个值吗?

http://jsfiddle.net/6gLqw4df/2/

最佳答案

有点棘手,但有效。更明显的是,我每次点击增加100px。

$('button').on('click', function() {
    var slideTransform = $('#mySlide').attr('style').split(';');
    slideTransform = $.map(slideTransform, function(style){
        style = style.trim();
        if (style.startsWith('transform:translate3d')) {
            var match = style.match(/transform:translate3d\((.+)px,(.+)px,(.+)px\)/);
            var value = parseInt(match[1]);
            var newValue = value + 100;
            console.log(newValue);
            return 'transform:translate3d(' + newValue + 'px, 0px, 0px)';
        }
        return style;
    });
    // add 100px to first value of translate3d
    $('#mySlide').attr('style', slideTransform.join(';'));
});


https://jsfiddle.net/Lr5rhyug/

对不起,我的代码很丑。可以通过检查startsWith结果来删除match。 (例如检查其长度等)

关于javascript - 使用jQuery获得Translate3d的第一值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30320896/

10-10 00:46