【发布时间】:2015-04-05 02:17:47
【问题描述】:
我尝试使用 Jquery 滑块使滚动长页面更容易。我的代码是
$(document).scroll(function () {
var doc_top = $(window).scrollTop() ;
var doc_height = $(window).height();
$('#slider-mini').val(doc_top / doc_height * 100).slider('refresh');
});
$('#slider-mini').on('change',function(){
var val_mini = document.getElementById("slider-mini").value;
var doc_height = $(document).height();
var pos_scroll = val_mini / 100 * doc_height;
window.scrollTo(0, pos_scroll);
});
完整代码在这里JSFiddle
问题是当页面滚动时,页面直接到底部,滑块值为100。
我想要的是当我滚动页面时,滑块值跟随滚动位置。并且当滑块值发生变化时,页面按照滑块值滚动。
我认为我使用的两个事件(onchange() 和 document.scroll)相互影响。
知道如何解决这个问题吗?
【问题讨论】:
-
实际上让用户按预期滚动页面不是更容易吗?我的意思是我喜欢创新,但那些创造了伟大用户体验的创新。老实说,我发现水平处理程序不是垂直滚动页面错误的好方法
标签: jquery jquery-mobile