我正在使用jQuery来获取CSS转换属性:
this.$slider.css('transform')
以下内容返回:
translate(100px, 0px)
如何使用javascript或jQuery将数字100作为变量?
答案 0 :(得分:4)
使用javascript字符串函数:
str = this.$slider.css('transform');
a = str.substring(str.indexOf('(')+1,str.indexOf('px'));
alert(a); //100
答案 1 :(得分:3)
你可以使用正则表达式:
'translate(100px, 0px)'.match(/[^\(]+\(([0-9]+)/)[1]
答案 2 :(得分:1)
var transform = this.$slider.css('transform'),
first = transform.split('(')[1].split('px')[0];
答案 3 :(得分:1)
一个小的正则表达式只需要拉第一个数字,但请注意,这不是挑剔,因为它们是像素单位或可能在CSS中返回的任何其他内容
this.$slider.css('transform').match(/\d+/)
答案 4 :(得分:0)
s = "translate(100px,0px)"
parseInt(s.substring(s.indexOf("(")+1), 10) // returns 100
答案 5 :(得分:0)
只需从索引10开始切片,然后通过parseInt
发送。
var str = this.$slider.css('transform');
var n = parseInt( str.slice(10), 10 );
或者如果有其他类型的结果而不是变换,您可以这样做:
var n = parseInt( str.split("(")[1], 10);