HTML5 中的交互式平面图 [关闭]

2023-12-19

我必须为公寓楼开发交互式平面图导航器和查看器,它将继承其基于 Flash 的前身。

我现在正在评估最适合在 HTML5 中实现这一点的技巧和技术。 我必须支持所有常见的浏览器(IE 以 7 开头)。

要求:

  • 用户会看到建筑物的几个静态室外视图,他可以使用简单的小部件在这些视图之间进行切换。
  • 他们将能够在此外部视图中选择楼层。鼠标悬停时(点击触摸设备)地板将突出显示。
  • 单击楼层后,您会切换到平面图,再次将鼠标悬停/单击时,该平面图会提供有关公寓的详细信息。
  • 应该涉及一些动画,但不要太花哨。

我一直在考虑实现这一目标的选项。 我还需要一种快速的方法来选择楼层(概述)和公寓(平面图)的多边形,以允许非开发商创建新建筑。

我想出的选项:

  1. 使用纯图像和图像地图进行中途停留。
  2. 使用canvas(利用Google针对不支持的浏览器的Javascript解决方案)。将图像加载到画布标签中并动态创建停留。
  3. Use SVG

跨浏览器兼容性的最佳选择是什么?


SVG 或 Canvas 都可以满足您的需求。您可能会更轻松地在 SVG 中进行开发,因为已经为您完成了很多工作。

以下是一些其他注意事项:

  • Canvas 适用于所有“现代”浏览器,但不适用于 IE7/8
  • SVG 适用于所有现代浏览器,VML(非常接近)适用于 IE7/8
  • 现在,Canvas 中的文本渲染在每个浏览器上看起来可能有很大不同
  • Canvas 在一定程度上可以在 Android 和 iOS 上运行(像文本渐变这样的小事情仍然会搞砸)
  • SVG 不能在 android 中工作(至少一年前不能。有什么改变吗?)它可以在 iOS 中工作
  • SVG 的可访问性是FAR更好的。文本是可搜索的,因此对 SEO 友好、盲人友好、复制粘贴友好等。与 DOM 的其余部分交互更加自然。
  • Canvas 性能更好,但您不需要它。

目前,除了旧版本的 IE 之外,它们在兼容性方面相当相同。你可以使用 excanvas 库让它们与 Canvas 一起工作,但这有点糟糕,特别是如果有东西要移动的话。

我推荐 SVG 只是因为您将能够更快地为平面图类型的应用程序开发它。一切都已经是 DOM 对象了。事件、鼠标处理等都已经为您完成。

但如果你真的希望它能在(较旧的?)Android 手机上运行,​​Canvas 可能是目前更好的选择。

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

HTML5 中的交互式平面图 [关闭] 的相关文章

  • 如何在使用“document.createElement()”方法创建单元格后立即在 JavaScript 中设置单元格宽度?

    我已经使用 document createElement td 方法在 html 页面中为动态表格创建了单元格 现在希望用一些不同的值设置每个单元格的宽度 尝试过 cell width width 但它不起作用 我怎样才能实现它 Use s
  • 如何对结构切片而不是切片结构进行范围调整

    稍微玩了一下 Go HTML 模板后 我发现的所有循环模板中对象的示例都是将切片结构传递给模板 有点像这个示例 type UserList struct Id int Name string var templates template M
  • 文本溢出上的点样式:省略号

    是否可以对点进行样式设置text overflow ellipsis 一个例子是将省略号加粗 如 Lorem Ips 灵感来自这个答案 https stackoverflow com a 21861334 3244925 这是一种设置省略号
  • jQuery - 动画可折叠 DIV,向上滑动?

    我使用这个 jQuery 脚本来设置 div 的动画 以便在用户单击按钮时打开 关闭 http www dynamicdrive com dynamicindex17 animatedcollapse htm http www dynami
  • 单击按钮滚动到特定 div

    我有一个具有固定菜单和内容框 div 的页面 单击菜单时 内容框滚动到特定 div 到目前为止 一切都很好 这是这里的示例 https jsfiddle net ezrinn 8cdjsmb9 11 https jsfiddle net e
  • localhost/test.php 不返回任何内容

    我正在遵循教程构建一个网络应用程序 我创建了一个简单的test php网络空间中的文件 var www html 问题是当我输入localhost test php在浏览器地址窗口中 它返回一个空页面 我试过localhost php in
  • 打开我网站上的链接不起作用

    在我的网站上 我有一个我正在尝试获取工作的链接 我有一个遵循正常格式的链接 即 href 以 www youtube com 作为目标链接 并在末尾添加 target blank 当我单击该链接时 托管我的网站的网站会显示一条错误消息 当我
  • CSS - 让div继承高度

    我正在尝试制作一个带有圆角的盒子 其中 div 的高度和宽度取决于内容 因此它会自动调整 您可以在此处查看示例 http pastehtml com view 1duizyf html http pastehtml com view 1du
  • 导航时 Internet Explorer 9 中的图像闪烁白色

    我正在使用 XHTML 1 1 CSS 3 0 开发一个网站 但 Internet Explorer 9 出现问题 每次我将页面从 主页 更改为 功能 时 各种图像在填充之前都会闪烁 白色 出现这种 白色闪烁 每次页面更改时 我见过很多堆栈
  • 如何区分两个同名的多选列表

    对于我正在构建的系统 我需要查看第一个列表中出现了哪些选项 通过 POST 请求 以及第二个列表中出现了哪些选项
  • 多彩文本框的想法?

    在我的网站中 我想实现一个文本框 人们可以在其中输入一组由分隔符分隔的字符串 例如本页底部的标签文本框 由空格 分隔符 分隔的标签 字符串 为了让用户更清楚 为每个字符串提供不同的背景颜色或其他视觉提示是很有意义的 我认为使用常规输入 文本
  • 如何使用 Angular 1.5 中的组件为每个页面设置标题

    我最近开始使用 Angular 1 5 组件 我的应用程序中有多个页面 所以我决定创建一个
  • Internet Explorer 不渲染从 JQuery ajax 帖子返回的 html

    我有一个带有输入框的页面 其 onkeyup 根据输入的内容 搜索字段 触发 JQuery ajax 帖子 ajax 调用回发的 html 应该填充页面上的另一个 div 这是 jquery ajax 帖子 var o me results
  • 裁剪响应式全宽图像

    我必须剪辑跨越整个宽度的图像 以下事情对我不起作用 剪辑 这需要绝对位置 因此块元素不会堆叠在下面 背景位置 缩放时无法正确剪辑 放大时剪辑的部分会增加 反之亦然 包装器 包装器高度取决于浏览器宽度 因此其值应该是动态的 我使用了 seti
  • 如何使div垂直滚动[重复]

    这个问题在这里已经有答案了 我用图片元素列表做了一个水平滚动 但是当我垂直滚动它时我失败了 我的水平滚动条代码是 div class pic container div class pic row div style width 100 a
  • 如何使用 file:///F:/foldername 访问 ajax 中的本地文件夹?但它适用于 http://

    在这里 我使用以下代码使用 AJAX jQuery 动态创建文件名列表 window load function var fileExt csv document ready function ajax url file F foldern
  • 禁用 HTML 验证。如何为全局每个表单设置“novalidate”?

    我想知道是否可以做一些事情来禁用应用程序中每个表单的 HTML 验证 有什么办法可以做到这一点或者我应该添加novalidate每个表单标签的属性 看来唯一的方法是添加novalidate使用 JavaScript jQuery 为每个表单
  • 使用添加“title”属性换行符 到 JSX 元素

    我知道我可以在 HTML 中添加换行符title属性使用 10 但 React 避免了这一点 例如 这是一个 React 组件 其中包含一个标准的 未由 React 处理的组件title包含换行符的属性 并且可以在浏览器中看到效果 但是如果
  • 如何使用 AffineTransform.quadrantRotate 旋转位图?

    我想旋转一个bitmap关于它的中心点 然后将其绘制成更大的图形上下文 位图是40x40 pixels 图形上下文是500x500 pixels 这就是我正在做的 BufferedImage bi new BufferedImage 500
  • 单击行内的按钮时防止触发表行 onclick 事件

    我有一个带有 ONCLICK 事件的表行 切换下面的附加数据 在其中一个行单元格内有一个按钮 单击时执行 AJAX 操作 当我单击按钮时 行的 onclick 事件也会触发 并且会发生附加数据在 AJAX 调用完成之前出现 这对我来说是一个

随机推荐

  • Spark SQL 中的 INSERT IF NOT EXISTS ELSE UPDATE

    Spark SQL 中是否有执行 INSERT IF NOT EXISTS ELSE UPDATE 的规定 我有 Spark SQL 表 ABC 其中有一些记录 然后我有另一批记录 我想根据它们是否存在于该表中来插入 更新该表中 我可以在
  • Matplotlib imshow() 翻转 x 和 y 轴

    我在用着pyplot with matplotlib 我想将一些数据显示为图像 当我使用imshow 数据与我想要的查看方式翻转 我如何切换 x 轴和 y 轴imshow 或到numpy在我将其发送到之前的数组imshow 即我希望水平轴是
  • 如何在 Xcode 中的 CALayer 上方制作按钮或标签?

    在我的故事板中 我添加了一个按钮和一个标签 在我的 ViewController 中 我以编程方式定义了一个 CALayer 并将其作为子层添加到 ViewController 的视图中 当我测试应用程序时 子层位于按钮和标签上方 但我想将
  • 无法在 Fedora 上安装 GDB

    如何在 Fedora Linux 机器上下载并安装 GDB GNU 调试器 我尝试从 gnu 网站下载 7 1 包 但在安装过程中失败 configure然后make命令 请分享我可以获得相关信息的来源 Thanks 我发现这个教程可能对安
  • 如何实现一个具有一次读取 4 位节点的二进制 trie?

    我正在尝试找到一种方法inline某种意义上的二进制字典树 基本上 二进制 trie 为二进制数中的每个槽都有一个节点 在 0 上向左分支 在 1 上向右分支 您将如何构造它以便一次读取 4 位而不是 1 似乎每个 trie 节点中有 16
  • 记录 Xamarin 未处理(Android 未捕获)异常

    我想记录未处理的异常 但我看到关于是否以及如何可能实现的信息存在冲突 我了解 Xamarin 提出了AndroidEnvironment UnhandledExceptionRaiser or AppDomain CurrentDomain
  • 了解 Python ReportLab 中的表坐标系

    我无法理解坐标系ReportLab表格样式 根据他们的文档 每个命令的第一个元素是其标识符 第二个和第三个参数确定单元格 受负坐标影响的单元格的坐标 从 Python 索引中的限制值 坐标给出为 列 行 紧随其后 电子表格 A1 模型 但不
  • RabbitMQ 消息传递 - 初始化消费者

    我想使用 RabbitMQ 将对象的状态连续广播给可能正在侦听的任何消费者 我想对其进行设置 以便当消费者订阅时它将获取最后一个可用状态 这可能吗 使用自定义最后值缓存交换 例如https github com squaremo rabbi
  • 无法在 Mac OS 10.8 中从终端使用 svn 命令

    Team SVN 命令在终端中运行良好 我已经卸载并安装了最新版本的 svnclient 从那时起 我无法从我的 mac 终端访问 svn 命令 以下是我在终端中看到的错误消息 dyld 未加载库 opt local lib libssl
  • Clojure可以通过宏生成函数吗?

    我正在尝试通过宏生成 fn 但是我遇到了一个奇怪的问题 代码在这里 defmacro test2 lmk fn lmk2 println lmk lmk2 test2 12 13 gt Error defmacro test3 fn lmk
  • Cordova/PhoneGap 中的 Dropbox.js 身份验证

    我正在 Cordova PhoneGap 中编写一个应用程序 它尝试使用 Dropbox js 从 Dropbox 获取文件 Cordova 版本是 3 0 1 Dropbox js 版本是 0 10 0 我的 Javascript 在桌面
  • 有没有更好的方法使用Python的类型模块为复合类型创建类型别名? [复制]

    这个问题在这里已经有答案了 我有一个带有一个参数的函数 它应该采用int or a None作为论证 有多种方法可以为此类复合类型创建类型别名 test py import typing IntOrNone 1 typing TypeVar
  • popToRootViewControllerAnimated 无法正常工作

    我有一个导航应用程序 当发生某些错误时 我想将用户转回他们开始的视图 因此我在这些条件下执行以下代码 self navigationController popToRootViewControllerAnimated YES 当它执行时 根
  • MongoDB 中可以有多少个集合而不损失性能?

    我看到默认情况下 MongoDB 有 24 000 个可用集合 内存为 16MB ns文件 如果我将其增加到 2GB 最大值 我可以得到3 000 000数据库中的集合 性能会不会有大幅下降 根据文档 大量集合不会影响性能 几乎不会 拥有大
  • Android/Java - 日期差异天数

    我使用以下代码获取当前日期 格式为 12 31 1999 即 mm dd yyyy Textview txtViewData txtViewDate setText Today is android text format DateForm
  • 为什么 gcc 在 main 的开头推送 %rbx ?

    最新版本的 gcc 正在生成对我来说没有意义的程序集 我没有使用任何优化来编译代码 但是 即使没有优化 此代码的某些部分也没有意义 这是C源 include
  • NEventStore 重播事件的问题

    我们正在使用 CQRS ES ES 是 NEventStore 以前称为 JOliver EventStore 我们在不同的命令中有 2 个聚合 第二个 AR 的投影取决于读取模型中第一个 AR 投影写入的数据 问题是 当我们运行软件时 一
  • 如何让 pcp 自动将节点附加到 postgres pgpool?

    我在 centos 6 8 上使用 postgres 9 4 9 pgpool 3 5 4 我很难让 pgpool 自动检测节点何时启动 它通常检测第一个节点 但很少检测辅助节点 但如果我使用 pcp attach node 告诉它哪些节点
  • Javascript - 在脚本位置插入元素

    例如 如何在脚本位置插入元素 不依赖 div 的 id 或类 div class div div where addDivSayHello js将插入 div 子级 div hello div 结果示例 div class div div
  • HTML5 中的交互式平面图 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我必须为公寓楼开发交互式平面图导航器和查看器 它将继承其基于 Flash 的前身 我现在正在评估最适合在 HTML5 中实现这一点的技巧和技术