jQuery實(shí)現(xiàn)360°全景拖動(dòng)展示
更新時(shí)間:2015年03月18日 17:21:32 投稿:hebedich
360全景就是視角超過(guò)人的正常視角的圖像,而我們這里說(shuō)的全景特指水平視角360度,垂直視角180度的圖像??梢匀翱臻g里進(jìn)行切換,達(dá)到瀏覽各個(gè)不同場(chǎng)景360全景展示的目的。
CSS
復(fù)制代碼 代碼如下:
html,body{background:#333;}
#loading{left:0;top:0;width:100%;height:100%;background:#333;color:#fff;}
#loading span{left:45%;top:40%;font:normal 50px Arial;color:#fff;}
#demo{left:50%;top:50%;margin-left:-512px;margin-top:-384px;width:1024px;height:768px;}
#demo img{border-radius:8px;border:5px solid #555;}
.back{font-size:18px;line-height:130%;padding:8px 20px;color:#fff;}
#back-home{left:0px;top:0px;background:#35916D;}
#back-article{right:0px;top:0px;background:#444;}
#back-download{right:0px;bottom:0px;background:#CE565D;}
HTML
復(fù)制代碼 代碼如下:
<div id="demo" class="px hide"><img /></div>
<div id="loading" class="px"><span class="pa"></span></div>
js
復(fù)制代碼 代碼如下:
<script src="scripts/jquery.js?1.11.1"></script>
<script src="scripts/jquery.drag360.js"></script>
<script>
$(function(){
$(document.body).attr({
'onSelectStart' :'return false;',
'oncontextmenu':'return false;',
'onbeforecopy':'return false;',
'oncopy':'return false;',
'ondragstart':'return false;',
'style':'-moz-user-select:none; -khtml-user-select: none; user-select: none;'
});
var Preload=function(images,callback){
var done=0,val=0;
var count=images.length;
var preload=function(url) {
var image = $("<img />").attr("src", url).on("load",function () {
complete();
});
};
var complete=function() {
done++;
val=done/count*100;
$('#loading span').text(Math.ceil(val) + "%");
if(done==count){
callback();
}
};
for(var i=0;i<images.length;i++){
preload(images[i]);
}
};
var images=[
'drag/shiwai ceshi0006.jpg',
'drag/shiwai ceshi0012.jpg',
'drag/shiwai ceshi0018.jpg',
'drag/shiwai ceshi0024.jpg',
'drag/shiwai ceshi0030.jpg',
'drag/shiwai ceshi0036.jpg',
'drag/shiwai ceshi0042.jpg',
'drag/shiwai ceshi0048.jpg',
'drag/shiwai ceshi0054.jpg',
'drag/shiwai ceshi0060.jpg',
'drag/shiwai ceshi0066.jpg',
'drag/shiwai ceshi0072.jpg',
'drag/shiwai ceshi0078.jpg',
'drag/shiwai ceshi0084.jpg',
'drag/shiwai ceshi0090.jpg',
'drag/shiwai ceshi0096.jpg',
'drag/shiwai ceshi0102.jpg',
'drag/shiwai ceshi0108.jpg',
'drag/shiwai ceshi0114.jpg',
'drag/shiwai ceshi0120.jpg',
'drag/shiwai ceshi0126.jpg',
'drag/shiwai ceshi0132.jpg',
'drag/shiwai ceshi0138.jpg',
'drag/shiwai ceshi0144.jpg',
'drag/shiwai ceshi0150.jpg',
'drag/shiwai ceshi0156.jpg',
'drag/shiwai ceshi0162.jpg',
'drag/shiwai ceshi0168.jpg',
'drag/shiwai ceshi0174.jpg',
'drag/shiwai ceshi0180.jpg',
'drag/shiwai ceshi0186.jpg',
'drag/shiwai ceshi0192.jpg',
'drag/shiwai ceshi0198.jpg',
'drag/shiwai ceshi0204.jpg',
'drag/shiwai ceshi0210.jpg',
'drag/shiwai ceshi0216.jpg',
'drag/shiwai ceshi0222.jpg',
'drag/shiwai ceshi0228.jpg',
'drag/shiwai ceshi0234.jpg',
'drag/shiwai ceshi0240.jpg',
'drag/shiwai ceshi0246.jpg',
'drag/shiwai ceshi0252.jpg',
'drag/shiwai ceshi0258.jpg',
'drag/shiwai ceshi0264.jpg',
'drag/shiwai ceshi0270.jpg',
'drag/shiwai ceshi0276.jpg',
'drag/shiwai ceshi0282.jpg',
'drag/shiwai ceshi0288.jpg',
'drag/shiwai ceshi0294.jpg',
'drag/shiwai ceshi0300.jpg',
'drag/shiwai ceshi0306.jpg',
'drag/shiwai ceshi0312.jpg',
'drag/shiwai ceshi0318.jpg',
'drag/shiwai ceshi0324.jpg',
'drag/shiwai ceshi0330.jpg',
'drag/shiwai ceshi0336.jpg',
'drag/shiwai ceshi0342.jpg',
'drag/shiwai ceshi0348.jpg',
'drag/shiwai ceshi0354.jpg',
'drag/shiwai ceshi0360.jpg',
];
Preload(images,function(){
$("#loading").fadeOut();
$("#demo img").attr("src",images[0]);
$("#demo").fadeIn();
$("#demo img").drag360(images);
});
});
</script>
drag.js
復(fù)制代碼 代碼如下:
(function($){
$.fn.drag360=function(images){
var mdx,mmx,isDrag=false,unitStep=40,current=0;
var that=$(this);
var length=images.length;
//觸摸
that.on('touchstart',function(e){
var touch = e.originalEvent;
mdx = touch.changedTouches[0].pageX;
isDrag=true;
}).on('touchmove',function(e){
e.preventDefault();
touch = e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];
mmx=touch.pageX;
if(isDrag){
if(Math.abs(mmx-mdx)>unitStep){
if(mmx-mdx>0){
current=current+1;
}else{
current=current-1;
}
mdx=mmx;
if(current<0)current=length-1;
if(current>length-1)current=0;
that.attr("src",images[current]);
}
}
}).on('touchend',function(e){
isDrag=false;
});
//拖動(dòng)
that.on('mousedown',function(e){
mdx=e.pageX;
isDrag=true;
}).on('mousemove',function(e){
mmx=e.pageX;
if(isDrag){
if(Math.abs(mmx-mdx)>unitStep){
current=current+(mmx-mdx>0?1:-1);
mdx=mmx;
if(current<0)current=length-1;
if(current>length-1)current=0;
that.attr("src",images[current]);
}
}
return false;
})
$(document).on('mouseup',function(e){
isDrag=false;
});
$(document).on('mouseleave',function(e){
isDrag=false;
});
return this;
};
})(jQuery);
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
您可能感興趣的文章:
- jQuery動(dòng)態(tài)添加可拖動(dòng)元素完整實(shí)例(附demo源碼下載)
- jquery拖動(dòng)層效果插件用法實(shí)例分析(附demo源碼)
- 使用jQuery的easydrag插件實(shí)現(xiàn)可拖動(dòng)的DIV彈出框
- jquery div拖動(dòng)效果示例代碼
- JQuery 表格操作(交替顯示、拖動(dòng)表格行、選擇行等)
- jQuery拖動(dòng)div、移動(dòng)div、彈出層實(shí)現(xiàn)原理及示例
- jquery 圖片縮放拖動(dòng)的簡(jiǎn)單實(shí)例
- jQuery實(shí)現(xiàn)DIV層淡入淡出拖動(dòng)特效的方法
- jquery實(shí)現(xiàn)可拖動(dòng)DIV自定義保存到數(shù)據(jù)的實(shí)例
- jQuery實(shí)現(xiàn)拖動(dòng)調(diào)整表格單元格大小的代碼實(shí)例
- jQuery實(shí)現(xiàn)移動(dòng)端滑塊拖動(dòng)選擇數(shù)字效果
- jQuery實(shí)現(xiàn)的跨容器無(wú)縫拖動(dòng)效果代碼
相關(guān)文章
jquery動(dòng)態(tài)添加文本并獲取值的方法
下面小編就為大家?guī)?lái)一篇jquery動(dòng)態(tài)添加文本并獲取值的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
Jquery圖片滾動(dòng)與幻燈片的實(shí)例代碼
Jquery圖片滾動(dòng)與幻燈片的實(shí)例代碼,需要的朋友可以參考一下2013-04-04
jQuery實(shí)現(xiàn)使用sort方法對(duì)json數(shù)據(jù)排序的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)使用sort方法對(duì)json數(shù)據(jù)排序的方法,涉及jQuery基于ajax針對(duì)json格式文件數(shù)據(jù)的動(dòng)態(tài)載入與排序相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
jquery實(shí)現(xiàn)圖片平滑滾動(dòng)詳解
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)圖片平滑滾動(dòng)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
用jquery中插件dialog實(shí)現(xiàn)彈框效果實(shí)例代碼
這篇文章介紹了jquery中插件dialog實(shí)現(xiàn)彈框效果實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
30個(gè)最佳jQuery Lightbox效果插件分享
Lightbox 應(yīng)該是最流行的圖片瀏覽效果了,常具有功能包括:自動(dòng)根據(jù)窗口的大小縮放圖片,模式窗口,幻燈片方式播放,內(nèi)容預(yù)加載,漸變等效果。2011-04-04

