如何在 iOS 设备上构建视差滚动

2024-01-09

今天我看到了最令人惊叹的 ipad 应用程序,我确信它是使用 html5、css3 和 javascript 编写的...应用程序最好的部分是他们完美地创建了视差滚动...我的问题是...如何实现?... .我找不到任何关于在 iOS 设备上创建视差滚动的文档...如果有人能给我一个链接或任何关于如何执行此操作的建议,我将非常感激...有人吗?...亲切的问候 J


我们最近发布了一个在 iPad 上进行视差滚动的网站。这里有一些解释,以及使用它的视频:http://www.aerian.com/portfolio/one-potato/one-potato-html5-website http://www.aerian.com/portfolio/one-potato/one-potato-html5-website

以及网站本身(如果您有 iPad 可以玩):

  • http://one-potato.co.uk http://web.archive.org/web/20130904185225/http://one-potato.co.uk/

为此,我们编写了一些 JavaScript 库代码,希望在不久的将来将其开源。

基本思想是编写一个滚动容器,它接受触摸输入并跟踪内容的 x 和 y 位置(如果需要二维)。为了使这种视差成为可能,我们发现最好的方法是使用对某种控制器的委托。如果不看的话我就不记得我们使用的确切语法了

container.on('touchmove', function(e) {
    //get our offset
    var offset = <some value>; //e.g. { x : 0, y : -1300 }
    var easing = 'ease-out';

    self.delegate.scrollViewDidScrollToOffsetWithAnimation(self, offset, easing);
});

然后在控制器中,像这样:

var scrollView = new ScrollView($('#container'));

var controller = {
    scrollViewDidScrollToOffsetWithAnimation : function(scrollView, offset, easing) {
        //here you need to respond to offset, by changing some css properties of your parallax elements:
        parallaxElement.css('transform', 'translate(-offset.x, -offset.y * 0.8)');
        anotherParallaxElement.css('transform', 'translate(-offset.x, -offset.y * 0.1)');
    }
}

scrollView.setDelegate(controller);

这种委托模式深受 UIKit 的影响,因为我认为它提供了一种更清晰的方式来向系统的不同部分通知另一个事件。我发现使用太多的事件调度变得很难维护,但这完全是另一个故事了。

希望这个对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 iOS 设备上构建视差滚动 的相关文章

  • Jquery 获取 .val

    我需要的是 this 值 this attr value 出现在 这个 中 activities btn id val this val 这是代码 thoughts list click function this attr id this
  • Angular 在 Img 末尾添加额外变量 %E2%80%8B

    http myimage png E2 80 8B 我刚刚复制粘贴了这个图像网址 但它最后添加了一些奇怪的数据 并且图像没有显示 但在代码上它看起来很完美 我尝试过类似 Angular 的东西 var imageSafeUrl this s
  • 范围滑块 javascript 以小时和分钟为单位

    我试图分别以小时和分钟为单位显示滑块的值 我对 JS 还很陌生 并且仍在尝试了解它是如何工作的 到目前为止 我所拥有的是一个工作滑块 其最大值为 1440 24 小时内的分钟 在 JS 中 我尝试将其划分为小时和分钟 并使用 innerHt
  • 为什么 Bootstrap 按钮下拉菜单在 iOS 上不起作用?

    看起来甚至连引导演示在这里 http twitter github com bootstrap components html buttonDropdowns不适用于 iOS 您似乎无法在 iPhone 或 iPad 上从中选择项目 有解决
  • 请使用同一按钮播放和暂停音频

    我有这段代码并且只是播放 但我想使用相同的按钮 图像 播放和暂停 并且我不知道我需要添加什么 我需要做什么 请帮帮我
  • iPhone Web 应用程序禁用缓存

    我使用 PHP 构建了一个 iPhone 网络应用程序 主 也是唯一 页面包括苹果移动网络应用程序支持 and 苹果触摸全屏元标记 以便在添加到主屏幕后可以全屏运行 然而 似乎每次我从主屏幕启动应用程序时 都会使用页面的缓存版本而不是刷新页
  • iPhone SQLite日期问题

    数据库创建得很好 插入工作也很好 我对下面的 select 语句有问题 它不返回任何记录 也没有错误 选择任何其他字段都可以正常工作 谁能发现我做错了什么吗 create table if not exists data pkey inte
  • 重复背景图像被切断

    我有一个容器 DIV 它随着内容的高度而缩放 它有一个背景图像 可以重复向下形成图案 问题是重复的背景图像在 div 底部被切断 有没有办法让背景图像不被切断 这是代码 http jsfiddle net WkEKD 7 http jsfi
  • 我们可以为 border-bottom 属性设置渐变颜色吗? [复制]

    这个问题在这里已经有答案了 我们可以添加渐变颜色吗border bottomhtml块元素的属性 边框应该与此类似 谁能告诉我这在 CSS3 中是可能的吗 我像这样尝试过 但无法让它工作 border gradient border bot
  • 如何向用户提供 Ajax POST 响应作为下载?

    我正在尝试在包含帐户信息的现有页面中包含 vCard 导出功能 丑陋的方法包括 1 向同一页面提交表单 处理它并重新渲染整个页面 或者 2 针对页面上的 iframe 进行 GET 我真的很想避免这两种情况 但我可能必须使用 2 来实现目标
  • xsl 方法中的自关闭标签:xml

    我正在使用一个使用 xsl method xml 创建 html 模板的网站 但是 当 xsl 引擎呈现 html 页面时 我遇到了标签自动关闭的问题 div div 转换为 gt div div 该方法需要保留 xml 否则页面的其他组件
  • NSManagedObjectContext 的performBlockAndWait:不在接收者队列上执行

    我注意到有可能NSManagedObjectContext与NSMainQueueConcurrencyType to performBlockAndWait 并在接收者 主 队列以外的队列上执行该块 例如 以下代码会导致我的parentC
  • 将 id 传递给 calloutAccessoryControlTapped

    当点击附件按钮时 我需要传递 itemId 这样我就可以识别要传递到详细视图的项目 So far 添加注释 for id row in self detailItem Item i Item row CLLocationCoordinate
  • jQuery - 页面上最宽的项目

    如何使用 jQuery 在网页上找到最宽的项目 在 css 中设置的宽度或作为属性 不会很快 但应该可以解决问题 var widest null each function if widest null widest this else i
  • jQuery 分钟和秒倒计时器

    我想创建一个 jquery 倒计时器 我尝试了以下代码 但它不起作用 我该怎么办 DEMO https jsfiddle net tbosn210 https jsfiddle net tbosn210 var interval setIn
  • 如何使用 $.ajax 发送 JSON 而不是查询字符串?

    有人可以简单地解释一下如何让 jQuery 发送实际的 JSON 而不是查询字符串吗 ajax url url dataType json I was pretty sure this would do the trick data dat
  • 在移动 Safari 上自动播放音频

    在我被火烧死之前 我知道这目前不起作用 因为苹果担心自动下载音频文件 然而 我的问题是 有人找到了狡猾的解决方法吗 我只想在游戏启动时播放启动声音 目前必须等待用户单击某处才能播放音频 你们中的一个聪明人现在一定已经成功了吗 没有机会在移动
  • 将 html

    我有一些服务器端代码当前支持 http 字节范围请求 没有任何问题 但是 我希望能够在将转码后的块发送到客户端之前使用 ffmpeg 即时转码视频文件 位于磁盘上 但 ffmpeg 要求我在获取字节时给它一个寻道时间范围来自客户 给定客户端
  • jQuery:array[i].children() 不是函数

    以下代码的灵感来自http ignorethecode net blog 2010 04 20 footnotes http ignorethecode net blog 2010 04 20 footnotes 当您将光标移到脚注符号上时
  • JQuery 循环遍历动态元素并获取数据值

    我正在尝试使用可折叠面板来完成我的要求 sport on click function var thisId this attr id var thisChildren this sportlist thisChildren each fu

随机推荐

  • 如何在 OpenUrl 卡操作中回复消息?

    我正在发送带有 openURL 的 cardAction 用户应该单击该按钮 按照所述 URL 中的说明进行操作 然后报告数据 我想要显示一条消息when用户单击按钮 同时打开 URL 根据我的测试 我只能选择 ImBack 或 OpenU
  • 如何在 Google Cloud BigQuery 中小写整个列数据

    我正在尝试找到一种 快速 方法来小写 Google Cloud BigQuery 内表列中的所有数据 字符串 在构建脚本之前 我正在寻找更短的方法 例如查询 如何查询 BigQuery 以小写整个列 您可以使用UPDATE陈述 UPDATE
  • MySQL UPDATE 和 SELECT 一次性完成

    我有一个要执行的 MySQL 任务表 每一行都有一个任务的参数 有许多工作应用程序 可能在不同的机器上 循环执行任务 这些应用程序使用 MySQL 的本机 C API 访问数据库 为了拥有一项任务 应用程序会执行以下操作 生成一个全局唯一的
  • 类型参数命名准则是什么?

    我注意到了 也看到了必备 C 3 0 https rads stackoverflow com amzn click com 0321533925书上 参数通常定义为T or TEntity 例如 public class Stack
  • !: Angular 中的(爆炸冒号)表示法

    I found 中使用的符号Angular 弃用文档 https angular io guide deprecations dependency on a reflect metadata polyfill in jit mode Inp
  • TextField 包含日语字符时缺少字体样式

    将字符串传递给视图 Case 1 English alphabet is no problem test deck ABCDE Case 2 Font style is missing test deck Case 3 Font style
  • 用于比较 Windows 二进制文件的工具?

    我们的 QA 团队希望根据 EXE 和 DLL 在构建之间实际发生的变化来集中测试 我们有一个很好的 svn 更改报告 但是源代码和更改的二进制文件之间的关系并不总是很明显 我们正在比较的构建始终是完全干净的构建 因此我们不能使用文件系统时
  • Python 基础知识 为什么 set() 有效但 {} 失败? [复制]

    这个问题在这里已经有答案了 s this that this 为什么set s 工作但是 s 失败了 TypeError unhashable type list 这是因为它们意味着不同的东西 set s 迭代s创建一个集合 而文字语法 s
  • 如何定期使用 PAPI 进行性能测量

    我想使用 C 中的 PAPI api 分析我的应用程序的系统性能 一般结构是 初始化PAPI 初始化感兴趣的计数器 启动计数器 运行应用程序的主要逻辑 结束计数器并读取值 我想定期读取计数器 例如每 1 秒一次 而不是在应用程序结束时读取最
  • OData 筛选器和 Guid 字段的问题

    我正在尝试使用 OData 来运行一些代码 下面的代码似乎不起作用 ds是 OpenDataServiceProxy 适配器类型 ID是 Guid 的字符串表示形式 适配器名称是一个字符串名称 ds query DataAdapters f
  • 如何解决 Node.js 错误:找不到模块?

    当我启动一个 dockerized Node js 测试应用程序时 sudo docker compose up 我收到以下错误 Starting testapp web 1 done Attaching to testapp web 1
  • AWS S3分段上传在不指定源文件时工作

    我已经构建了一个 ajax 上传器 可以将文件直接上传到 S3 它运行完美 但我感到困惑的是它实际上是如何工作的 我对文档中的显示方式采取了不同的方法 不是指定 sourceFile 而是在元数据中指定文件名 没有发送文件位置 我在用着AW
  • Laravel 和 LocalStack 的最大执行时间

    我正在尝试使用 Localstack 来模拟 s3 实例 以便我可以从表单上传图像 这是我的 docker compose localstack image localstack localstack latest container na
  • 如何使用 Ruby/Rails 从网站获取内容?

    我想使用 ruby rails 从网站复制一些特定内容 我需要的内容位于一个 marquee html 标签内 由 div 分隔 我如何使用 ruby 访问此内容 更准确地说 我想使用某种 ruby gui 最好是鞋子 我该怎么做 这并不是
  • 如何定义依赖于Provider的GoRouter?

    我正在将 GoRouter 集成到我的 Flutter 应用程序中 我已经在使用 Riverpod 我有一个isAuthorizedProvider定义如下 final isAuthorizedProvider Provider
  • 使用 UIPageViewController 在多个视图控制器之间滑动

    我的 UIPageViewController 根本不工作 我想做的是在 UIPageViewController 内切换 2 个视图控制器 我已经遵循这里的指南但失败了 将 UIPageViewController 与 swift 和多个
  • Matplotlib - 堆积条形图和工具提示

    This code https github com joferkington mpldatacursor issues 47当鼠标悬停在条形图上时返回工具提示 我想修改堆叠条形图的代码 并在鼠标悬停在条形图的部分时获取该部分的特定工具提示
  • 如何填写BabeLua设置?

    我希望能够在 Visual Studio 2013 Ultimate 中对 LUA 进行编程 我有 BabeLua 来尝试做到这一点 在该程序中有一个名为 设置 的选项卡 该选项卡中有 5 个我不明白的文本框 LUA 脚本文件夹 存储文件的
  • 无服务器框架的最大策略大小错误

    部署大型无服务器应用程序时 我们首先达到了 200 个资源的上限 我们使用serverless plugin split stacks库解决了这个问题 但后来可能引入了另一个问题 发生错误 IamRoleLambdaExecution 最大
  • 如何在 iOS 设备上构建视差滚动

    今天我看到了最令人惊叹的 ipad 应用程序 我确信它是使用 html5 css3 和 javascript 编写的 应用程序最好的部分是他们完美地创建了视差滚动 我的问题是 如何实现 我找不到任何关于在 iOS 设备上创建视差滚动的文档