首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用滑块滚动页面

问使用滑块滚动页面
EN

Stack Overflow用户
提问于 2012-02-17 16:13:13
回答 1查看 803关注 0票数 2

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

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

http://djlol.dk/projects/index2.html (底部的白色那个)

当您拖动按钮上的滑块时,页面会奇怪地跳转。它可以滚动,但速度太快了。

我是这样做的:

代码语言:javascript
复制
$("#slider").slider({
  animate: true,
  change: handleSliderChange,
  slide: handleSliderSlide,
  min: 0,
  max:2900
});

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-18 14:17:20

问题似乎与您在窗口中固定滑块的位置以及滑块内部确定每个滑块手柄的移动距离的方式有关。

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

要解决此问题,请将滑块元素位置更改为相对,并调整顶部和左侧偏移。但是,这意味着当窗口滚动时,滑块的左端将滚动出视图,但至少您的滑块会以正常的速度移动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9324876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档