New version
-Easier to position in your webpage composition (just two numbers to change)
-More accurate: Each bar pointed to will return an exact number.
-Better reaction at the start and the end
-Reposition the slider with a single click
-Numbering
and... a C


L little test included!
<html>
<head>
<HTA:APPLICATION
ID="test"
APPLICATIONNAME="slider">
<meta name="VI60_defaultClientScript" content="VBScript">
<title>slider</title>
<script language="VBScript">
Public gw,gl,gr,gs,gt,sw,gq,q,r, mso, objSlider, objMyResult
Sub Window_OnLoad()
'----set objects---
Set objSlider = document.all.Slider.style
Set objMyResult = document.all.MyResult
'----take the measures we need---
'----Thanks to these complicated calculations we can position all the elements ----
'-----just by changing the left and top of the pGroove paragraph (see in html body) ---
sw = document.all.Slider.offsetWidth/2
gw = document.all.Groove.offsetWidth
gl = document.all.Groove.offsetLeft
gt = Replace(document.all.pGroove.style.top, "px", "")
gs = gl + Replace(document.all.pGroove.style.left, "px", "") - sw
gr = Round( gs + gw - sw, 0)
q = Round( gw/51, 0)
gq = Round( (gs-gl)/q, 0)
'---Position slider at the begining of the ruler---
objSlider.left = gs
objSlider.top = gt -4
'---Position numbers on the ruler---
nw = Round(document.all.Num1.offsetWidth/2, 0)
document.all.Num0.style.left = gs -nw + sw
document.all.Num1.style.left = gs + Round(gw/5, 0) -nw + sw
document.all.Num2.style.left = gs + Round((gw/5)*2, 0) -nw + sw
document.all.Num3.style.left = gs + Round((gw/5)*3, 0) -nw + sw
document.all.Num4.style.left = gs + Round((gw/5)*4, 0) -nw + sw
document.all.Num5.style.left = gr
document.all.Num0.style.top = gt +20
document.all.Num1.style.top = gt +20
document.all.Num2.style.top = gt +20
document.all.Num3.style.top = gt +20
document.all.Num4.style.top = gt +20
document.all.Num5.style.top = gt +20
End Sub
Sub Slide
If mso=True Then
x = window.event.x -gl
objSlider.left = x
r = Int((x-gl)/q) - gq
objMyResult.InnerText = r
Test
End If
End Sub
Sub SlideEnd(v)
Select Case v*mso
Case -1 objSlider.left = gs
mso=False
r = 0
objMyResult.InnerText = r
Test
Case -2 objSlider.left = gr
mso=False
r = Int((gr-gl)/q) - gq
objMyResult.InnerText = r
Test
End Select
End Sub
Sub Test
document.body.bgcolor= "#" & Hex(155+r*2) & Hex(155+r*2) & Hex(155+r*2)
End Sub
</SCRIPT>
<BODY OnMouseUp="mso=False" bgcolor= "#9B9B9B">
<!-- Start of slider code -->
r = <span id="MyResult"></span><br>
<p align="justify" id="pGroove"
style="position: absolute; left: 20; top: 40; cursor='default'"
onselectstart="javascript:return false">
<span OnMouseOver="SlideEnd(1)"> - </span>
<span OnClick="mso=True : Slide : mso=False" id="Groove" >
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
<span OnMouseOver="Slide">|</span>
</span>
<span OnMouseOver="SlideEnd(2)"> + </span>
<font face="Wingdings 3">y</font>
</p>
<p id="Num0" style="position: absolute;">0</p>
<p id="Num1" style="position: absolute;">10</p>
<p id="Num2" style="position: absolute;">20</p>
<p id="Num3" style="position: absolute;">30</p>
<p id="Num4" style="position: absolute;">40</p>
<p id="Num5" style="position: absolute;">50</p>
<p id="Slider" align="justify"
style="position: absolute; cursor='default';"
onselectstart="javascript:return false"
OnMouseDown="mso=True" OnMouseUp="Slide"
>
<font color="magenta">[|]</font> <!-- Design the shape of the slider button here -->
</p>
<!-- End of slider code -->
</BODY>
</HTML>