基于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  THIS详解 面向对象
Mar 25 Javascript
javascript textarea光标定位方法(兼容IE和FF)
Mar 12 Javascript
jquery easyui 结合jsp简单展现table数据示例
Apr 18 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 Javascript
vue实现简单表格组件实例详解
Apr 16 Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
Nov 12 Javascript
bootstrap table支持高度百分比的实例代码
Feb 28 Javascript
Node.js系列之连接DB的方法(3)
Aug 30 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 Javascript
详解JavaScript的this指向和绑定
Sep 08 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性能优化 产生高度优化代码
2011/07/22 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
vue实现全匹配搜索列表内容
2019/09/26 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
python库matplotlib绘制坐标图
2019/10/18 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python爬虫小例子——爬取51job发布的工作职位
2020/07/10 Python
司机检讨书
2014/02/13 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
初中教师业务学习材料
2014/05/12 职场文书
公司总经理岗位职责
2015/04/01 职场文书
消防验收申请报告
2015/05/15 职场文书
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
如何利用React实现图片识别App
2022/02/18 Javascript