0

上のポインターの位置を使用して、jQuery Slider の効果をコピーしようとしていますdiv。私が戻ってきた範囲はからのもので0 to 500、これを調整したい0 to 1opacity ですが、このような範囲を調整するjQuery関数はありますか?

$('#old').mousemove( function(e){
    var parentOffset = $(this).parent().offset();
    var mouseX = e.pageX - parentOffset.left;
    var mouseY = 500-(e.pageY - parentOffset.top);
    $('#position').html(mouseX+" "+mouseY);
    $('#old').css('opacity', '.'+mouseY);
});

'.'+mouseY小数は、結果を機能させるためだけに存在します。

http://jsfiddle.net/chrisloughnane/DdsRq/

4

5 に答える 5

4

返された値を 500 で割るだけで、0 から 1 の間の値になります。

$('#old').css('opacity', (mouseY/500));

http://jsfiddle.net/DdsRq/2/

于 2013-05-20T12:21:49.873 に答える
1

はい、単純に 500 で割ることができます。その場合、最大は に500 / 500 === 1なり、最小は になります0 / 500 === 0

于 2013-05-20T12:21:56.900 に答える
1

では、0 ~ 500 の値のパーセントが必要ですか?

var x = mouseY / 500;
于 2013-05-20T12:22:00.320 に答える
1

数を で割るだけ500です:

$('#old').css('opacity', mouseY/500);

(JavaScript の数値はすべて浮動小数点です。整数の切り捨てが心配な場合は、その必要はありません。)

于 2013-05-20T12:22:10.960 に答える
0

だから、これがあなたのjsfiddleを更新したものであることを願っています;)

$('#old').mousemove( function(e){
    var parentOffset = $(this).parent().offset();
    //mouseX = e.pageX;
    //mouseY = e.pageY;
    var mouseX = ((e.pageX - parentOffset.left) / $('#old').width());
    var mouseY = ((e.pageY - parentOffset.top) / $('#old').height());
    //mouseX = Math.round( mouseX * 10 ) / 10;

    $('#position').html(mouseX+" "+mouseY);
    $('#old').css('opacity', mouseY);
    $('#new').css('opacity', mouseX);


});

$('#old').mouseout(function(){
    $(this).animate({opacity: '1.0'}, 1000);
});
于 2013-05-20T12:41:30.387 に答える