2011-06-21 54 views
0

要素の幅を取得する方法。それをパーセンテージ(%)に変換します。要素幅+1をリセットします。私はjplayerのボリュームもマウスの手袋によって制御されるのが好きです。 問題は、ピクセル幅を数値(整数)として取得することです。要素のピクセル幅を取得し、数値に変換する

.jp-volume-bar-valueは幅を%で設定しますが、jqueryはpxで取得するため、%(比率1.66)に変換する必要があります。

parseIntをvar loudで使用すると動作しないようです(別の番号を取得しているようです)。 誰が助けることができますか?

 $('#volume-hold').bind('mousewheel', function(event, delta) { 
     var loud = $('.jp-volume-bar-value').css('width'); 
     var load = loud * 1.666666; //max px/100 
     var dir = delta > 0 ? 'Up' : 'Down', 
      vel = Math.abs(delta); 
     if (dir === 'Up') { 
      var loud = loud + 1; 
      $('.jp-volume-bar-value').css('width', '('+loud+')'); 
     }else{ 

     }    
     return false; 
    }); 
+1

var width = Number($('#element').css('width')); 

、あなたがparseIntにそれを試すことができます作業。 –

+0

また、幅を再び設定するときは、$( '。jp-volume-bar-value')にする必要があります。css( 'width'、loud + 'px'); そして、あなたはparseInt($( '。jp-volume-bar-value')とwidth()を使って幅を得ることができます。 –

+0

@ARありがとう、ありがとう。たぶん私は難しいと思っていたかもしれません.... – Rob

答えて

0

ベースを設定していないため、parseIntが機能しない可能性があります。試してみてください。

var result = parseInt(loud * 1.666, 10); //sets parseInt to base 10 

また、あなたはあなたが戻ってjQueryのから取得している値が数値であることを確認する必要がありますのparseIntは間違いなくすべき

+1

私はOPが幅をパーセントで設定していると感じていますが、ピクセルが戻ってきているので、それは「正しい」わけではありません。私は思っています。 http://jsfiddle.net/LKscV/ –

+0

を参照してくださいあなたはおそらく正しいです。 OPは本当にあまりにも多くの詳細を与えていないので、私の最初の本能は典型的な 'parseInt'基本エラー – Jason

+0

ベース10を使用する* 1.66は動作するようです!とった。ありがとうございました – Rob

関連する問題