有你在真好 的个人博客
使用Javascript来创建一个响应式的超酷360度全景图
阅读:2208 添加日期:2021/3/27 23:31:13 原文链接:https://www.toutiao.com/item/4757270929/

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



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

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

如何实现?

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

代码实现

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

1. 代码文件

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

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

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

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

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号