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 相关文章推荐
Javascript 各浏览器的 Javascript 效率对比
Jan 23 Javascript
zShowBox 图片放大展示jquery版 兼容性
Sep 24 Javascript
node.js中的console.warn方法使用说明
Dec 09 Javascript
jquery带动画效果幻灯片特效代码
Aug 27 Javascript
JS+Canvas绘制时钟效果
Aug 20 Javascript
详解AngularJs ui-router 路由的简单介绍
Apr 26 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
vue 不使用select实现下拉框功能(推荐)
May 17 Javascript
还不懂递归?读完这篇文章保证你会懂
Jul 29 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
Nov 11 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 Javascript
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
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
javascript 常用功能总结
2012/03/18 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
vue如何判断dom的class
2018/04/26 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
python实现两个文件合并功能
2018/04/01 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
Python爬取梨视频的示例
2021/01/29 Python
台湾专柜女包:KINAZ
2019/12/26 全球购物
旅游项目开发策划书
2014/01/18 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
学生安全责任书范本
2014/07/24 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
婚庆答谢词
2015/01/04 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server