基于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压缩工具下载集合
Mar 06 Javascript
用客户端js实现带省略号的分页
Apr 27 Javascript
javascript使用正则表达式检测IP地址
Dec 03 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
Jan 28 Javascript
jQuery Mobile页面返回不需要重新get
Apr 26 Javascript
谈谈target=_new和_blank的不同之处
Oct 25 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
js获取文件里面的所有文件名(实例)
Oct 17 Javascript
vue2.0之多页面的开发的示例
Jan 30 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 Javascript
简单了解JavaScript作用域
Jul 31 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
Aug 04 Javascript
基于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
php引用返回与取消引用的详解
2013/06/08 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
JS实现li标签的删除
2019/04/12 Javascript
js实现随机点名程序
2020/09/17 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
python套接字流重定向实例汇总
2016/03/03 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
jupyter实现重新加载模块
2020/04/16 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
老人与海读书笔记
2015/06/26 职场文书
大学生受助感言
2015/08/01 职场文书
企业安全生产规章制度
2015/08/06 职场文书
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python