0

我试图通过使用指针在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 回答