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 相关文章推荐
jQuery 1.2.x 升? 1.3.x 注意事项
May 06 Javascript
Web 前端设计模式--Dom重构 提高显示性能
Oct 22 Javascript
JavaScript中的this实例分析
Apr 28 Javascript
JavaScript:Div层拖动效果实例代码
Aug 06 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
js获取checkbox值的方法
Jan 28 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
javascript作用域链(Scope Chain)用法实例解析
Nov 30 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
解决Element中el-date-picker组件不回填的情况
Nov 07 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
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
python下载库的步骤方法
2019/10/12 Python
PyQt5实现简单的计算器
2020/05/30 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
酒吧创业计划书
2014/01/18 职场文书
优良学风班申请材料
2014/02/13 职场文书
绿色环保口号
2014/06/12 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
centos7安装mysql5.7经验记录
2022/05/02 Servers