基于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 EasyPager 分页函数
May 25 Javascript
微信JS接口汇总及使用详解
Jan 09 Javascript
AngularJS语法详解
Jan 23 Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 Javascript
jQuery中prepend()方法使用详解
Aug 11 Javascript
基于Javascript实现返回顶部按钮
Feb 29 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
node.js文件的复制、创建文件夹等相关操作
Feb 05 Javascript
JavaScript 数组去重详解
Sep 15 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
浅谈COOKIE和SESSION区别
2015/07/19 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
JS简单循环遍历json数组的方法
2016/04/22 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python函数参数类型*、**的区别
2015/04/11 Python
Python实现带百分比的进度条
2016/06/28 Python
python保存数据到本地文件的方法
2018/06/23 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Keras搭建自编码器操作
2020/07/03 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
办公室主任职责范文
2013/11/08 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
初中地理教学反思
2016/02/19 职场文书