2010-10-28 67 views

回答

3

的非常简单的选择是使用oninput事件和,假设你的值和宽度由小提琴,被准确地表示当的范围内增大超过所述容器的宽度的值通过操纵scrollLeft rangeValue - parentWidth。我在你的jsBin例如使用下面的代码来实现这一点:

var rng = document.getElementById("range"); 

rng.oninput = function() { 
    this.parentNode.scrollLeft = this.value - 400; 
} 

而且结果可以被全世界展示here。您可能需要微调以获得理想的效果。

另一种方法是检查该值是否大于某个值,然后将该框完全滚动到右侧。当它以其他方式返回时,请完全滚动到左侧。

+0

+1 for'oninput' – Harmen 2010-10-28 09:40:20

+0

谢谢,它可以正常工作,但滑块在达到400值时会停留在那里。我想我将不得不调整它... – Mircea 2010-10-28 10:20:24

+0

@Mircea:滑块移动,但给出的外观,它不会因为容器滚动相同的数量。你可以调整它,或者与我建议的其他选项一起去,在通过一定的阈值后滚动全部数量。 – 2010-10-28 10:26:45