javascript如何实现360度全景照片问题汇总


Posted in Javascript onApril 04, 2016

本文为大家分享了做360度的全景照片的详细步骤,其中要注意以下几个问题:

1、如何在拖图片时,使其加载变快?---注意让图片隐藏的性能比让图片切换的性能高,且在IE9下运行,会出现图片加载的问题
2、如何使图片带有一定的速度转
3、考虑如果x为负数和负数两种情况

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
window.onload=function ()
{
  var oImg=document.getElementById('img1');//第一张图片
  var aImg=document.getElementsByTagName('img');
  var lastimage=oImg;
  var x=0;//鼠标拖动某一个点,用该点的位置,来改变src
  var speed=0;
  var lastx=0;
  var timer=null;
  var temp=0;
  for(i=0;i<77;i++)
  {
    var oNewImage=document.createElement('img');
    oNewImage.src='img/miaov ('+i+').jpg'; 
    oNewImage.style.display='none';
    document.body.appendChild(oNewImage);//先将77张图片隐藏
  }
  document.onmousedown=function(ev)
  {
    clearInterval(timer);
    var oEvent=ev||event;
    var disx=oEvent.clientX-x;
    document.onmousemove=function(ev)
    {
       var oEvent=ev||event;
       x=oEvent.clientX-disx;
       setMove(); 
       speed=x-lastx;//记录前后两个速度
       lastx=x;
      return false;
    }
    document.onmouseup=function()
    {
       document.onmousemove=null;
       document.onmouseup=null;
       timer=setInterval(function(){
        x+=speed;
        setMove();
         document.title=speed;
       },30);

    }
    function setMove()
    {
       if(speed>0){speed--;}
       else if(speed==0){clearInterval(timer);}
       else {speed++;}
       temp=-x;//temp要设为全局变量
       if(temp>0)
       {
        temp=-x%77;
       }
       else
       {
        temp=-x+(-Math.floor(-x/77)*77);
       }
       //oImg.src='img/miaov ('+temp+').jpg'; //这里外面要用单引号 
       //alert(aImg.length);
       lastimage.style.display='none';//先让最后一张变为none(刚开始也为第一张,鼠标没有移动时,第一张图片是显示的)
       aImg[temp].style.display='block';//当打开页面时,出现的默认为第一张图片
       lastimage=aImg[temp];
     
       document.title=temp;
    }
    return false;
  }  
}
</script>
</head>
<body>
<img id="img1" src="img/miaov (0).jpg" />
<!--<div id="bg"></div>
<div id="prog">
  360度全景展示 载入中......<span>0%</span>
  <div id="bar"></div>
</div>-->
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
发现的以前不知道的函数
Sep 19 Javascript
js prototype截取字符串函数
Apr 01 Javascript
js中数组排序sort方法的原理分析
Nov 20 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
jQuery获取与设置iframe高度的方法
Aug 01 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
Sep 14 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
angular4+百分比进度显示插件用法示例
May 05 Javascript
JavaScript计算出两个数的差值
Mar 19 Javascript
解决vue-router路由拦截造成死循环问题
Aug 05 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
javascript制作照片墙及制作过程中出现的问题
Apr 04 #Javascript
javascript拖拽效果延伸学习
Apr 04 #Javascript
javascript事件委托的用法及其好处简析
Apr 04 #Javascript
基于javascript制作微博发布栏效果
Apr 04 #Javascript
纯js实现手风琴效果
Apr 17 #Javascript
AngularJS中的$watch(),$digest()和$apply()区分
Apr 04 #Javascript
Angular 根据 service 的状态更新 directive
Apr 03 #Javascript
You might like
php5 图片验证码实现代码
2009/12/11 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
跟我学Laravel之路由
2014/10/15 PHP
php中file_exists函数使用详解
2015/05/08 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
python实现textrank关键词提取
2018/06/22 Python
python实现求特征选择的信息增益
2018/12/18 Python
python3.7 sys模块的具体使用
2019/07/22 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
英文自我鉴定
2013/12/10 职场文书
小学信息技术教学反思
2014/02/10 职场文书
汇报材料怎么写
2014/12/30 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers