使用Javascript来创建一个响应式的超酷360度全景图

boyanx1个月前技术教程11



  • 360度的全景图片效果常常可以用到给客户做产品展示,今天这里我们推荐一个非常不错的来自Robert Pataki的360全景幻灯实现教程,这里教程中将使用javascript来打造一个超酷的全景幻灯实现,相信大家一定会喜欢的!

在这个教程中没有使用到任何插件,我们将使用HTML,css和javascript来实现,当然,也使用是jQuery这个框架!

如何实现?

我们将使用预先按照360生成的图片进行轮播来实现动画展示效果。包含了180个图片。所以加载时间可能比较长。

代码实现

我们将在css代码中添加media queries,来使得这个效果可以同时在ipad和iphone上实现。

1. 代码文件

我们添加js,css,图片目录。css目录中包含了reset.css。js中包含了jQuery。代码文件如下:

2. 新的项目

创建一个HTML文件index.html。在<head>中我们设置了移动设备的viewport,使得内容不支持缩放。添加俩个文件

reset.css和threesixty.css。包含了自定义的css样式。

<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0" /> <title>360</title> <link rel="stylesheet" href="css/reset.css" media="screen" type="text/css" /> <link rel="stylesheet" href="css/threesixty.css" media="screen" type="text/css" /></head><body> </body></html>

3. 加载进度条

创建一个<div>来容纳幻灯。其中包含一个<ol>,用来包含图片序列<li>,同时也包含了一个<span>来显示进度条。我们将使用javascript来动态加载图片。

<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0" /> <title>360</title> <link rel="stylesheet" href="css/reset.css" media="screen" type="text/css" /> <link rel="stylesheet" href="css/threesixty.css" media="screen" type="text/css" /></head><body> <div id="threesixty"> <div id="spinner"> <span>0%</span> </div> <ol id="threesixty_images"></ol> </div></body></html>

4. 添加互动

代码最后,我们添加jQuery用来处理互动,threesixity.js用来处理图片幻灯。

<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0" /> <title>360</title> <link rel="stylesheet" href="css/reset.css" media="screen" type="text/css" /> <link rel="stylesheet" href="css/threesixty.css" media="screen" type="text/css" /></head><body> <div id="threesixty"> <div id="spinner"> <span>0%</span> </div> <ol id="threesixty_images"></ol> </div> <script src="js/heartcode-canvasloader-min.js"></script> <script src="js/jquery-1.7.min.js"></script> <script src="js/threesixty.js"></script></body></html>

5. 样式

我们添加threesixty.css文件。reset.css用来设置缺省的样式。首先定义#threesixty包装。缺省的图片幻灯是960x450。水平垂直居中。

#threesixty { position:absolute; overflow:hidden; top:50%; left:50%; width:960px; height:540px; margin-left:-480px; margin-top:-270px;}#threesixty_images { display: none;}

全部代码请见原文:
http://www.gbtags.com/gb/share/5799.htm

相关文章

jQuery 控制属性和样式(jquery控制元素的显示与隐藏)

标记的属性each()遍历元素:each(callback)方法主要用于对选择器进行遍历,它接受一个函数为参数,该函数接受一个参数,指代元素的序号。对于标记的属性而言,可以利用each()方法配合th...

jQuery学习笔记(jquery自学)

jQuery的介绍学习目标能够知道jQuery的作用及优点1. jQuery的定义jQuery是对JavaScript的封装,它是免费、开源的JavaScript函数库,jQuery 极大地简化了 J...

hTML 样式(HTML样式表优先级)

在设计网页中,锚点滚动是不可或缺的,现在分享给大家,好好看看。jq代码为了好复制,插入整个demo源码<!DOCTYPE html><html><head><...

Jquery属性——学习笔记(一)(jquery如何设置属性值)

attr()方法:用于获取元素值和添加属性值。removeAttr()方法 删除属性值javascript获取元素值------->document.getElementById("ID...

jQuery HTML代码/文本(jquery中能够操作html代码及其文本的方法)

html([val|fn]) 返回值:String取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。在一个 HTML 文档中, 我们可以使用 .html() 方法...

10《Spring Boot 入门教程》使用 JdbcTemplate

1. 前言如果我们的项目非常简单,仅仅是对数据库几张表进行简单的增删改查操作,那么实际上直接使用 JDBC 操作数据库就可以了。由于 JDBC 中有很多模板代码,每次都是加载驱动-建立数据库连接-查询...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。