基于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 相关文章推荐
用js实现多域名不同文件的调用方法
Jan 12 Javascript
javascript编程起步(第五课)
Feb 27 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
Dec 20 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
Apr 07 Javascript
JavaScript中的各种操作符使用总结
May 26 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
Vuex简单入门
Apr 19 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
Jul 03 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
Jun 26 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 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随机显示图片的简单示例
2014/02/15 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
javascript实现随机读取数组的方法
2015/08/03 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
React快速入门教程
2017/01/17 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
python PIL模块与随机生成中文验证码
2016/02/27 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python图书管理系统
2020/04/05 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
python tornado修改log输出方式
2019/11/18 Python
python2 对excel表格操作完整示例
2020/02/23 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
坚定理想信念心得体会
2014/03/11 职场文书
小学教师节活动总结
2015/03/20 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
flex弹性布局详解
2022/03/20 HTML / CSS
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android