基于jQuery的360图片展示实现代码


Posted in Javascript onJune 14, 2012
$(function(){ 
var box_W = $(".PIC360").width(); 
var box_H = $(".PIC360").height(); 
var box_X = $(".PIC360").offset().left; 
var box_Y = $(".PIC360").offset().top; 
//求出中心点的横坐标值 
var center_X = Math.ceil(box_X+(box_W/2)); 
//求出中心点的纵坐标值 
var center_Y = Math.ceil(box_X+(box_H/2)); 
var moveSetp = (box_W/2)/10//设定为10次移动,完成左边的图片显示。这里求出每次移动多少像素,算移动一次?; 
$(".PIC360").mousemove(function(event){ 
var evX = event.pageX; 
var evY = event.pageY; 
//判断是向左还是向左 
if(center_X - evX>=0){ 
changePic(evX,evY,"left") 
}else{ 
changePic(evX,evY) 
} 
function changePic(mX,mY,f){ 
if(f){ 
//求出鼠标移动了多少次,每次对应一个LI的索引。 
var index = Math.ceil(Math.abs((mX - center_X)/moveSetp)); 
$(".PIC360 li").eq(index).show().siblings().hide(); 
}else{ 
var index = Math.ceil(Math.abs((mX - center_X)/moveSetp)); 
var li_lengt = $(".PIC360 li").length; 
$(".PIC360 li").eq(li_lengt-index).show().siblings().hide(); 
} 
} 
}) 
})

一、功能分析:

1.鼠标在图片区域向左滑动,图片“向左转动”。

2.鼠标在图片区域向右滑动,图片“向右转动”。

二、功能分析:

2.1如何判断鼠标在图片上面的滑动方向,即如何知道鼠标是向左还是向右?

以图片的中心为参照,在中心点左边,就是向左,在中心点右边,就是向右。解决方法,是把鼠标当前的X坐标值,与中心点的X坐标值,相减如果是负数就是向左的,如果是正数,就是向右的。

2.2鼠标滑动多少距离,图片切换一张(转动的实质,是不同面的图片,在切换显示)?

分析:2.21整个图片一共有18张,向左切换10张,向右就是切换8张。这样所有的图片,都能显示出来,即可以有360度的效果。

2.22鼠标在图片左边和右边移动的最大距离是图片宽度的一半,如果我设定10次移动让图片全部切换一次,那么就用这个最大距离除以10,就得到每次移动多少距离,算一次,而这一次就要切换一张图片。

DEMO下载 http://demo.3water.com/js/2012/mypic360/

Javascript 相关文章推荐
JavaScript中的私有成员
Sep 18 Javascript
jQuery 对象中的类数组操作
Apr 27 Javascript
用js实现层随着内容大小动态渐变改变 推荐
Dec 19 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
May 24 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
Oct 16 Javascript
Javascript判断对象是否相等实现代码
Mar 18 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
JS在可编辑的div中的光标位置插入内容的方法
Nov 20 Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 Javascript
jQuery 实现双击编辑表格功能
Jun 19 jQuery
Vue 2.0双向绑定原理的实现方法
Oct 23 Javascript
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
Jun 14 #Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 #Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
Jun 11 #Javascript
javascript倒计时功能实现代码
Jun 07 #Javascript
基于jQuery的计算文本框字数的代码
Jun 06 #Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 #Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
Jun 04 #Javascript
You might like
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
jQuery live
2009/05/15 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
纯css3实现走马灯效果
2014/12/26 HTML / CSS
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
自荐信格式范文
2013/10/07 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python