Musisz obsłużyc kilka zdarzeń JS i na ich podstawie wyświetlać suwak przesunięty o jakiś tam offset. Po pierwsze musisz wiedzieć czy użytkownik wcisnął przycisk myszy w obszarze działania suwaka.
var move = false
$('#canvas').mousedown(function(){
//wyliczasz gdzie zapoczątkowano przeciaganie
//i czy punkt startu znajduje się w obszarze działania suwaka,
// jeśli tak, ustawiasz flagę 'move' na true
})
Druga rzecz to obsługa przesuwania myszki gdy wciśnięty jest jej klawisz.
$('#canvas').mousemove(function(e){
if (!move) return false; // wychodzimy z funkcji jeśli move == false
var x = e.clientX; //pozycja myszki względem krawędzi okna
var y = e.clientY;
var of = $(this).offset(); //obiekt z przesunięciem elementu canvas względem krawędzi okna
// wyliczasz z tego gdzie masz wyświetlić suwak
})
I to cała filozofia

Do wyłapywania eventów użyłem jQuery, możesz to samo zrobić w gołym JS.