2011-11-23 68 views
0

我想从头开始创建像滑块一样的滑块,但我不知道如何检测用户在滑块上单击的水平位置。检测用户点击的水平位置的百分比

例如,如果我在中间点击foo div,它会返回50%。如果我有这样的话,我很容易相应地调整滑块的填充格宽度。

+0

你要这个有或没有jQuery的? – Niels

+0

@Niels我不介意它是否与jQuery。 – Ryan

+0

click事件对象具有.offsetX和.offsetY,它是与目标对象左上角相关的点击的x/y位置。一旦你知道特定对象有多宽/多高,就很容易计算出百分比。 –

回答

3

试试这个小提琴:http://jsfiddle.net/UCFtB/1/

脚本:

$("#test").mousemove(function(e){ 
    var perc = e.offsetX/ $(this).width() * 100; 
    $(this).html(e.offsetX + " | " + perc + " perc"); 
}); 
+0

谢谢@Niels,很好的回答! – Ryan