首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery在安卓设备上向下滑动/向上滑动缓慢的动画

问jQuery在安卓设备上向下滑动/向上滑动缓慢的动画
EN

Stack Overflow用户
提问于 2017-07-06 08:53:44
回答 1查看 448关注 0票数 0

我对jQuery幻灯片动画有问题。我试图使菜单是隐藏的,当用户滚动页面。以下是实时示例(仅适用于移动设备):

​

代码语言:javascript
复制
$(document).ready(function() {
    if ($(window).width() < 992) {
        $(window).scroll(function() {
            if ($(this).scrollTop() > 0) {
                $('.section-menu-link').not('.section-menu-link.active').slideUp(300);
            } else {
                $('.section-menu-link').not('.section-menu-link.active').slideDown(300);
            }
        });
    }
});
代码语言:javascript
复制
.section-menu{
    margin-top: 100px;
}
.section-menu-link{
    display: block;
    height: 30px;
    text-align: center;
}
.section-menu-link.active{
    color: red;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="section-menu">
  <a href="#" class="section-menu-link">Link</a>
  <a href="#" class="section-menu-link">Link</a>
  <a href="#" class="section-menu-link active">Link</a>
  <a href="#" class="section-menu-link">Link</a>
  <a href="#" class="section-menu-link">Link</a>
</div>
<div class="content">
Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test 
</div>

​

它在iOS上运行得很好,但在我测试过的每一部安卓手机上,动画效果都不是很好。

我试着用CSS转换来实现:

​

代码语言:javascript
复制
$(document).ready(function() {
    if ($(window).width() < 992) {
        $(window).scroll(function() {
            if ($(this).scrollTop() > 0) {
                $('.section-menu').addClass('hide');
            } else {
                $('.section-menu').removeClass('hide');
            }
        });
    }
});
代码语言:javascript
复制
.section-menu{
    margin-top: 100px;
}
.section-menu.hide .section-menu-link{
    max-height: 0;
}
.section-menu.hide .section-menu-link.active{
    max-height: 30px;
}
.section-menu-link{
    display: block;
    height: 30px;
    max-height: 30px;
    overflow: hidden;
    text-align: center;
    transition: max-height .3s ease;
}
.section-menu-link.active{
    color: red;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="section-menu">
<a href="#" class="section-menu-link">Link</a>
<a href="#" class="section-menu-link">Link</a>
<a href="#" class="section-menu-link active">Link</a>
<a href="#" class="section-menu-link">Link</a>
<a href="#" class="section-menu-link">Link</a>
</div>
<div class="content">
Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test 
</div>

​

但它的效果和第一个例子一样差。

有没有办法让它更顺畅呢?

EN

回答 1

Stack Overflow用户

发布于 2017-07-06 09:13:47

请记住,jQuery是,而不是专门支持移动前端开发的,所以并不是所有在浏览器中工作的东西在移动设备上都是一样的。像jQuery中的click()和scroll()这样的事件通常会被困在移动浏览器中,等待几毫秒(这是为了简化移动浏览),或者在触发之前等待一些额外的事件发生。

要消除延迟,请使用触摸事件而不是单击(或桌面)事件;例如,替换:

代码语言:javascript
复制
$(window).scroll(function() {

其内容类似于:

代码语言:javascript
复制
element.addEventListener("touchmove", touchMove, false);

正如你可能已经注意到的,上面的代码不是JQuery,而是普通的javascript (你可以在https://developer.mozilla.org/en-US/docs/Web/Events/touchmove上了解更多)。

不幸的是,jQuery在默认情况下不处理触摸事件,因此您要么使用JavaScript事件侦听器,要么使用一个额外的库来处理触摸事件(例如jQuery jQuery,尽管还有更好的选择,如https://github.com/benmajor/jQuery-Touch-Events)。

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

https://stackoverflow.com/questions/44938152

复制
相关文章

相似问题

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