私はjQueryを使用してCSS変換プロパティを取得しています:
this.$slider.css('transform')
次の結果が返されます。
translate(100px, 0px)
javascriptまたはjQueryを使用して、変数として100という数字だけを取得するにはどうすればよいですか?
私はjQueryを使用してCSS変換プロパティを取得しています:
this.$slider.css('transform')
次の結果が返されます。
translate(100px, 0px)
javascriptまたはjQueryを使用して、変数として100という数字だけを取得するにはどうすればよいですか?
javascript文字列関数を使用する場合:
str = this.$slider.css('transform');
a = str.substring(str.indexOf('(')+1,str.indexOf('px'));
alert(a); //100
正規表現を使用できます:
'translate(100px, 0px)'.match(/[^\(]+\(([0-9]+)/)[1]
var transform = this.$slider.css('transform'),
first = transform.split('(')[1].split('px')[0];
小さな正規表現は最初の数字を取得するだけで十分ですが、これは CSS で返される可能性のあるピクセル単位またはその他のものであることに注意してください。
this.$slider.css('transform').match(/\d+/)
s = "translate(100px,0px)"
parseInt(s.substring(s.indexOf("(")+1), 10) // returns 100
インデックス 10 から始まるスライスを取得し、parseInt
.
var str = this.$slider.css('transform');
var n = parseInt( str.slice(10), 10 );
または、変換以外のタイプの結果がある場合は、次のようにすることができます。
var n = parseInt( str.split("(")[1], 10);