jQuery3D全景效果展示插件
最近在研究商品的虚拟展示技术,我们项目中需要一个3D展示的功能,3D展示也就是把一个商品旋转360°来展示它的各个层面,网上Baidu+Google后,还真发现这种实现方式有很多,比如有Quicktime的,flash的和javascript的。
分析后,发现它们各有优缺点,用Quicktime来实现,首先需要将全景图片制作成.mov格式的文件,而且客户浏览器必须安装Quicktime插件才能看效果;用flash来实现,需要学习Flash的相关技术和ActionScript,这些我都不熟,所以放弃了,呵呵。对于javascript实现方式,我还是很赞同的,因为它不需安装任何插件,而且开发起来更容易上手,尤其现在有了jquery,它不仅降低了开发的工作量而且可以轻易实现更多的展示效果,所以最终选择了jQuery来实现。
经过几天时间,1.0版本终于出来了,现在贴出来与大家一起分享,如果有朋友正在做这方面的开发,希望能给你有所帮助,就算抛砖引玉了,希望多多交流阿,呵呵,不多说了,看正文吧 。
参考:http://www.mathieusavard.info/
JQuery Panorama Plugins
特性
- 支持自动旋转及向左、右方向的旋转
- 支持鼠标拖拽旋转和鼠标滑过旋转
- 支持按钮点击缩放和鼠标滚轮缩放
- 支持重置操作
兼容性
- Firefox 3.6
- IE6-IE8
- 其它待测
用法
1、首先需要引入 jQuery Lib包、jquery.mousewheel.js, jquery.panorama-1.0.js. 我们在这用到jquery的mousewheel插件来实现鼠标滚轮事件。
<script type="text/javascript" src="js/jquery-1.3.2.min.js" type="text/javascripts" /> <script type="text/javascript" src="js/jquery.mousewheel.js" type="text/javascripts" /> <script type="text/javascript" src="js/jquery.panorama-1.0.js" type="text/javascripts" />
2、加入css样式
.panorama_box{border:1px solid #fff; margin:auto;}
.image_box{border:1px solid #369; margin:auto; overflow:hidden;position:relative;}
.image_box img{position:relative;}
.toolbar{border:1px solid #CCCCCC;height:45px;margin:2px 0;}
.toolbar span{height:40px;width:38px;margin:2px;cursor:pointer;display:block;float:right;}
.zoomin{background:url("images/toolbar.jpg") no-repeat scroll 0 0;}
.zoomout{background:url("images/toolbar.jpg") no-repeat scroll -38px 0;}
.turnleft{background:url("images/toolbar.jpg") no-repeat scroll -112px 0;}
.turnright{background:url("images/toolbar.jpg") no-repeat scroll -76px 0;}
.start{background:url("images/toolbar.jpg") no-repeat scroll -150px 0;}
.pause{background:url("images/toolbar.jpg") no-repeat scroll -188px 0;}
.reset{background:url("images/toolbar.jpg") no-repeat scroll -226px 0;}
3、需要将你拍好的多张物品图片命名规则后放置指定目录中,如:images/pic2/,并在页面中添加展示物品的第一张图

4、javascript调用
$(function() {
var arr = []
for (var x=1; x<= 25; x++) {
arr.push("images/pic2/" + x + ".jpg");
}
$("#click").threesixty({
images:arr,
method:'click',
'cycle':1
});
});
看看效果吧,:)
参数说明
| 参数 | 描述 | 默认值 |
|---|---|---|
| images | 物品360°拍摄的图片路径 | |
| method | 触发方式 | click |
| cycle | 旋转次数 | 1 |
| direction | 旋转方向 | forward |
| cursor | 鼠标样式 | all-scroll |
| auto | 是否自动旋转 | false |
| speed | 旋转速度 | 150 |
| scale | 缩放比例 | 0.1 |
| zoomLevel | 缩放范围 | -5,5 |
| zoomSpeed | 缩放速度 | zoomSpeed |
推荐阅读:jQuery MultiSelect Plugin
欢迎转载,转载请注明来源于我爱互联网,多谢合作!
本文永久链接地址: http://www.woiweb.net/jquery-panorama-plugins.html

圖片放大之後會被遮住部份區域,可以新增滑鼠拖拉檢視,瀏覽放大後的整張圖片嗎?
嗯,很好的意见,不过你可以参考下这个,国外的做得不错,功能基本全了。
http://www.ajax-zoom.com/examples/example15.php
不错。。研究中。。
欢迎提意见
貌似不兼容chrome,在chrome下没有效果。IE8看了效果还不错
嗯,我修改下。
我在Chrome下好像遇到了一点问题。在IE9下第一次打开Demo那个图片很小,刷新页面后正常显示了。感觉很不错!效果很赞!继续加油哦!
没有太完善呢,我看看Chorme下
看不太懂~哈哈
就是将一个产品进行360度旋转来展示产品。
绝对要收藏!
3q
以前看了,没时间仔细看,
====
不知道flash是不是也是通过切换图片实现的3D?
js有些东西还真不能和flash比啊
===
你的验证很有趣,可我愣是没理解怎么个垂直法
flash的也是通过n多图片来实现的,有的是封装起来的,有的没有。当然效果还是flash的号。
就是把这些图片转正了,已经正的就不用管了,不正的通过滑动条来转正他,就OK了,我开始也没弄好,是了几个就会了,呵呵。
学习学习 JQ呀.
共同进步!
Hi, I find your addition to the threesixty code interesting! You should check out the newest version with a loading progress indicator. Also feel free to fork threesixty on github to merge your progress so everyone can benefit.
I’m so glad for your suggestion and i’ll make it better, and share it with everyone.
thank you again and i hope more exchange between us.
my msn : dengjianqiang200@163.com
发现一个物体的3D效果得那么多张图片,如果好多物品都怎么办?
是不是可以考虑改善下这个代码,从数据库读取单个面的图片数据
我觉得也是多,但js估计也就这样实现了,
对你说的从数据库读取单个面的图片数据,能不能再说详细些呢?
博主可否发一个这个例子给我,呵呵
Email:webbise@163.com
先谢过了(很过分是吧,呵呵)
没事,我放这个上来也是为了和大家一起分享的,这篇文章里有源文件下载地址:
http://code.google.com/p/jquery-panorama-plugins/downloads/detail?name=panorama.rar&can=2&q=#makechanges
如果不成,通知我,马上给你发过去。
多谢了
不客气哈。
很实用,正好一个同学想实现三维展示物品功能,学习一下了
嗯,功能还不是很全,可以完善下啊。
[...] 本文将和您探讨一下jquery的3D效果,做为web开发和设计者,我们总要寻找一些新的资源,窍门,但有没想过写很少的代码就可以创建惊奇的3D效果呢?之前,在别人的引导下用jquery做了一个物品3D效果展示的插件,今天在网上闲逛时又发现了一些jquery的3D效果,分享下。 [...]
一双臭鞋,大打折扣啊,不知道你怎么想的。。。。
有道理,确实有视觉上的缺陷,等我把它换成别的图,呵呵。
下载不了啊。
已经可以了,我放到Google code上了,试试看。
不错,学习学习
希望共同进步啊。
我最近也在研究这个东东,现在Download不能下载,能否发到我的邮箱互相学习一下,谢谢!
已经可以了,我放到Google code上了
Very interesting article, thanks. Keep up the good work.
Yeah,I’ll do that better, thanks.