javascript - 使 slider 滚动页面

标签 javascript jquery html scroll slider

我的页面上有一个绝对定位的 jQuery slider 。有了它,我希望能够单击并拖动来滚动页面。

你现在可以在这里看到它:

http://djlol.dk/projects/index2.html (最下面那个白色的)

当你拖动按钮处的 slider 时,页面会奇怪地跳动。它会滚动,但速度太快了。

我是这样做的:

$("#slider").slider({
  animate: true,
  change: handleSliderChange,
  slide: handleSliderSlide,
  min: 0,
  max:2900
});

function handleSliderSlide(e, ui)
{
  window.scroll(ui.value, 0);
}

最佳答案

问题似乎与固定 slider 在窗口中的位置以及 slider 在内部确定每个 slider handle 移动多远的方式有关。

slider 插件根据鼠标位置变化计算滑动处理程序的新位置,并在每次鼠标移动事件时计算元素的左偏移量。您的 slider 元素使用 css 属性 position:fixed 并且在浏览器窗口滚动时有效地增加元素的 LEFT 偏移量以将其保持在固定位置。因此,不仅 slider 值会因鼠标变化而增加,而且在您滚动窗口时也会因 LEFT 偏移量而增加。结果是一个快速移动的 slider 。

要解决此问题,请将 slider 元素位置更改为相对位置并调整顶部和左侧偏移量。然而,这将意味着 slider 的左端将在窗口滚动时滚出 View ,但至少您的 slider 以正常速度移动。

关于javascript - 使 slider 滚动页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9324876/

相关文章:

javascript - 有史以来最简单的 JavaScript 表单验证问题

javascript - 如何针对不同的屏幕尺寸更改语义 UI 侧边栏的位置?

javascript - 检查 Obj 是否在数组中,如果不在则运行代码

javascript - Bootstrap 中的导航栏适用于移动设备上 4 个页面中的 2 个。代码对所有人都一样

jquery - 支持 XHTML 文件吗?

javascript - 如何使用 <templates> 替换内联 html 字符串?

java - 如何在点击时交换图像源?

javascript - 如何在具有相似性的节点之间创建边

javascript - 我需要一个转换器来制作任何 jquery 代码以制作 no.conflict 模式?

html - CSS,覆盖所有选择下拉菜单的高度?