jQuery圆形滑块

Rus*_*wer 4 jquery html5 volume slider

我想做一个圆形滑块,如下图所示.jQuery能够做到这一点吗?

我知道一个直滑块如何工作,但我想制作一个HTML5圆形滑块.这是我在网上找到的 http://jsfiddle.net/XdvNg/1/ - 但我不知道如何获得用户放开的滑块值 在此输入图像描述

Rok*_*jan 10

这是我想出的:

jsBin演示

$(function () {
    var $circle = $('#circle'),
        $handler = $('#handler'),
        $p = $('#test'),
        handlerW2 = $handler.width()/2,
        rad = $circle.width()/2,
        offs = $circle.offset(),
        elPos = {x:offs.left, y:offs.top},
        mHold = 0,
        PI2 = Math.PI/180;
    $handler.mousedown(function() { mHold = 1; });
    $(document).mousemove(function(e) {
        if (mHold) {
            var mPos = {x:e.pageX-elPos.x, y:e.pageY-elPos.y},
                atan = Math.atan2(mPos.x-rad, mPos.y-rad),
                deg  = -atan/PI2+180,
                perc = (deg*100/360)|0,
                X = Math.round(rad*  Math.sin(deg*PI2)),    
                Y = Math.round(rad* -Math.cos(deg*PI2));
            $handler.css({left:X+rad-handlerW2, top:Y+rad-handlerW2, transform:'rotate('+deg+'deg)'});
        }
    }).mouseup(function() { mHold = 0; });
});
Run Code Online (Sandbox Code Playgroud)