【问题标题】:Javascript image gallery for mobile用于移动设备的 Javascript 图像库
【发布时间】:2013-03-02 03:22:14
【问题描述】:

我想为移动设备制作一个与 Flickr 功能相似的图片库。

我希望它根据您的手指移动的方向在 touchmove 上移动图像,如果您做出一个小的滑动手势,我希望它一直移动图像,或者如果滑动不够大,将 div 移回 x 轴上的起始位置。

我知道逻辑是什么样的,只是不确定要使用的语法。

我想应该是这样的:

在触摸启动时 -为touchstart的x位置分配变量

触摸移动 - 为 touchmove 的 x 位置分配变量 - 为 touchmove 减去 touchstart 分配一个变量 - 将 (touchmove 减去 touchstart) 添加到 div 的当前 x 位置

在触摸端 - 如果 touchmove => touchstart + 50px 然后将 1000px - (touchmove-touchstart) 添加到 div x 位置

-else if touchmove =

其他 从 div 的 x 位置减去 (touchmove - touchstart)

谁能把这个^^^翻译成javascript?

【问题讨论】:

    标签: javascript mobile image-gallery touch-event


    【解决方案1】:

    如果您真的能够应对挑战,那么需要考虑很多事情。您需要使其独立于平台,决定是否使用 JavaScript、CSS3 动画或两者兼而有之。它需要响应并允许按需加载图像等。向后兼容性怎么样?

    您还需要采用一些巧妙的逻辑,不仅要检测 touchstart 和 touchmove 之间的距离,还要检测完成的速度。例如,用户可以非常快速地轻弹他们的手指一小段距离,从而导致转换发生,或者可以非常缓慢地将他们的手指移动很长距离,导致不发生转换(在限制内)。

    所以要回答您的问题,不,这不会自动生成动画。如果没有一些聪明高效的 JavaScript 或CSS3 animations,它将无法顺利移动。

    我建议使用已经存在的许多 JQuery 库之一来为您执行此操作。那里有许多免费的图书馆,它们都很好用。经过快速搜索,我找到了这个:

    http://www.photoswipe.com/,这似乎正是您想要实现的目标。

    【讨论】:

    • 如果 div 的 x 位置在 touchmove 期间根据您手指的当前位置发生变化,那么它将以您的手指移动的任何速度移动,并且就让它向前或向后播放而言onTouchend 如果滑动足够大,我可能希望它以设定的速度向前播放并放松。理想情况下,我不想使用任何类型的库或插件。我只想使用纯 javascript,但我会查看 photoswipe 看看我是否喜欢它。
    • 好吧,看了之后,我有几个问题。它显然运行得非常好并且与所有浏览器等兼容......但是我怎样才能改变它的样式呢?另外,是否可以只使用幻灯片部分而不使用缩略图?如果我可以以这种方式完全自定义它,我会更感兴趣。主要是,我想最大限度地控制它的外观和行为,这就是为什么我更喜欢手动编写代码,但是如果我可以更改所有内容的 css 并且只使用我想要使用的部分,那么我可能会去。
    • 自己回答了一个问题,可以只使用没有缩略图的幻灯片。
    • 我不能说我曾经使用过 photoswipe,我只是在搜索中发现它是最重要的结果。但是,它看起来可以很好地使用 css 样式实现,因此您可以根据自己的喜好对其进行自定义。只需修改它附带的 css 文件,您就可以顺利进行。还有其他选项,例如设置“目标”,使其不会填满整个屏幕,只是目标的大小。你需要玩一下它。希望我至少为您指明了正确的方向。
    • 我整晚都在玩它,它有点酷,但是尝试整理他们所有预先编写的代码以更改简单的事情非常烦人。我宁愿自己写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多