Holen Sie sich die pixel-Breite ein element und in eine Zahl umwandeln
Wie man die Breite eines Elements. Konvertieren Sie es in Prozenten (%). Ein rücksetzen der element-Breite +1. Ich mag die jplayer Volumen werden auch gesteuert durch die Maus gut.
Problem ist, die Breite der pixel als Zahl(integer).
.jp-volume-bar-Wert fest legt die Breite in % an, aber jquery get it in px, und so müssen konvertiert werden um % (ratio 1.66).
Verwenden parseInt auf var laute hat nicht zu funktionieren scheint (ist, erhalten Sie eine unterschiedliche Anzahl).
Wer kann helfen?
$('#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;
});
- parseInt sollte auf jeden Fall funktionieren.
- auch, wenn Sie die Einstellung der Breite wieder, es sollte $('.jp-volume-bar-Wert').css('width', loud+'px'); Und Sie können die Breite mit parseInt($('.jp-volume-bar-Wert').width())
- danke, gegangen es ty. Vielleicht dachte ich zu schwer....
- jsfiddle.net/LKscV
- Es funktioniert die Hälfte, css Breite festgelegt werden muss, in %, becous jplayer liest tatsächliche Volumen von % nicht von px.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich, dass
parseInt
nicht funktioniert, weil Sie nicht die Einstellung der Basis. versuchen:Vielleicht möchten Sie auch, um sicherzustellen, dass der Wert, die Sie immer wieder von jQuery ist eine Zahl:
dann können Sie versuchen, zu
parseInt
esparseInt
base Fehler