他们会修复移动滚动事件吗?

Posted

技术标签:

【中文标题】他们会修复移动滚动事件吗?【英文标题】:Are they going to fix mobile scroll events? 【发布时间】:2013-10-03 05:25:07 【问题描述】:

我可以在台式机上使用此功能,但不能在移动设备上使用。当用户向上滚动并卡在页面底部时,应该会出现该栏。

http://54.200.76.33:8080/

在 safari 等移动浏览器上,该栏会一直运行,直到势头停止。我正在阅读,当用户滚动网页时,javascript 被禁用,因此无法捕捉到该事件。

我正在阅读谷歌教程https://developers.google.com/mobile/articles/webapp_fixed_ui

但我仍然认为这不能解决我的问题。未来是否有修复移动浏览器的计划?有没有办法解决这个问题?

<script type="text/javascript">//<![CDATA[ 
/*THIS WORKS FINE ON DESKTOP BROWSERS*/
/*Needs to work on mobile browsers*/ 
$(window).load(function()
var foundTop = $('.found').offset().top;
$(window).scroll(function () 
    var currentScroll = $(window).scrollTop();
    if (currentScroll >= 40) 
        $('.found').css(
            position: 'fixed',
            bottom: '0',
            left: '0'
        );
     else 
        $('.found').css(
            position: 'absolute',
            bottom: '-40px',
        );
    
);
);//]]>  



</script>

【问题讨论】:

【参考方案1】:

有一个 CSS 修复: 您使用过:

style="position: absolute; bottom: -40px; left: 0px;"

对于您的固定位置页脚应用以下 css:

style="position: fixed; -webkit-backface-visibility:hidden; bottom: -40px; left: 0px;"

并修复了javascript:

<script type="text/javascript">//<![CDATA[ 
/*THIS WORKS FINE ON DESKTOP BROWSERS*/
/*Needs to work on mobile browsers*/
$(window).load(function()
    var foundTop = $('.found').offset().top;
    $(window).scroll(function () 
        var currentScroll = $(window).scrollTop();
        if (currentScroll >= 40) 
            $('.found').css(               
                bottom: '0',
                left: '0'
            );
         else 
            $('.found').css(                
                bottom: '-40px'
            );
        
    );
);//]]> 

【讨论】:

谢谢维姬!我希望页面加载时页脚不可见。然后当用户开始向下滚动时,我希望它出现。就像他们向下滚动以查找更多笔记一样。 “哦,你在搜索更多的笔记?这里有一个搜索栏!” 它以 position: absolute 和 bottom: -40px 开头,因为它应该在页面加载时不可见。只有当用户向下滚动时它才会固定在底部。 谢谢维姬!现在试试看。 好的,我部署了修改后的代码。它仍然适用于桌面浏览器,而不是我的移动浏览器。是不是因为javascript中的“else css = etc..”还在? else $('.found').css( position: 'absolute', bottom: '-40px', );【参考方案2】:

您好 Zeus,您也可以提供您的代码,这样就很容易理解问题出在哪里。 意思是我在这里提供滚动视图的链接。

垂直滚动视图:

http://www.androidhub4you.com/2013/05/simple-scroll-view-example-in-android.html

对于水平滚动视图:

How to make grid-view horizontally scrollable in android

【讨论】:

以上是关于他们会修复移动滚动事件吗?的主要内容,如果未能解决你的问题,请参考以下文章

取消IE9触摸滚动事件并调用Mousemove,可能吗?

解决移动端页面滚动后不触发touchend事件

移动端positon:fixed;这个属性iphone手机上有问题吗?

解决移动端页面滚动后不触发touchend事件

移动 Web 之滚动篇

为啥在 IE 上滚动时固定的背景图像会移动?