在向上滚动时,我会在用户滚动时向下移动输入字段,并在用户向下滚动时将其向上移动。
我喜欢这在桌面上的表现,但在多点触控/移动设备中,滚动(距离)太长会让#searchInput
进入视野。
在移动多点触控上,我怎样才能让输入字段更容易向上滚动/滚动距离更短?
这是一个JSFiddle:http://jsfiddle.net/Fc6PU/3/
以下是代码:
var scrollTop = 0;
var upDistance = 0;
var downDistance = 0;
var written = false;
var searchTop = 0;
$(window).on('scroll', function(){
if($(window).scrollTop()<scrollTop){
$('#searchInput').removeClass('initialTop').addClass('slideBack');
written = false;
downDistance = 0;
upDistance++;
$('#searchInput').css('top', -21+upDistance);
}
else{
upDistance = 0;
downDistance++;
if(!written){
searchTop = parseInt($('#searchInput').css('top'));
written = true;
}
$('#searchInput').css('top', searchTop-downDistance);
}
scrollTop = $(window).scrollTop();
});