是否有jQuery / JavaScript函数来调整< 0到500>的范围。至< 0至1>

时间:2013-05-20 12:19:01

标签: javascript jquery

我试图通过使用指针在div上的位置来复制jQuery Slider的效果。 我收到的范围来自0 to 500,我想将其调整为0 to 1 opacity 是否有任何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/

5 个答案:

答案 0 :(得分:4)

只需将返回值除以500,即可将其设置为0到1之间的值。

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

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

答案 1 :(得分:1)

是的,您可以简单地除以500.然后最大值为500 / 500 === 1,最小值为0 / 500 === 0

答案 2 :(得分:1)

所以你想要的值百分比从0到500?

var x = mouseY / 500;

答案 3 :(得分:1)

只需将数字除以500

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

(JavaScript中的所有数字都是浮点数 - 如果您担心整数截断,则不需要。)

答案 4 :(得分: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);
});