我正在尝试从样式属性获取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/