当前位置: 首页 > 编程笔记 >

jQuery实现360°全景拖动展示

陆子航
2023-03-14
本文向大家介绍jQuery实现360°全景拖动展示,包括了jQuery实现360°全景拖动展示的使用技巧和注意事项,需要的朋友参考一下

CSS


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


<div id="demo" class="px hide"><img /></div>

<div id="loading" class="px"><span class="pa"></span></div>

js


<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


(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;

        });

        //拖动

        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);

以上所述就是本文的全部内容了,希望大家能够喜欢。

 类似资料:
  • 本文向大家介绍基于Three.js实现360度全景图片,包括了基于Three.js实现360度全景图片的使用技巧和注意事项,需要的朋友参考一下 Three.js 是一款运行在浏览器中的3D引擎, 处理三维效果。在一些相机的官网首页中,经常有一张图在旋转,图上面悬浮着文字。这种效果是如何做出来的呢?先看效果,再讲解。 1).建立一个java web 工程(或者其他工程), 因为three.js 的全

  • 问题内容: 我希望能够单击鼠标并将其保持在div内并移动其背景。在Google上搜索了很多内容,却没有找到我想要的。 问题答案: 好吧,让它起作用。我想我可以解决所有问题了: 最终的jQuery有界限 原始答案 HTML CSS jQuery

  • 本文向大家介绍jQuery实现的简单拖动层示例,包括了jQuery实现的简单拖动层示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现的简单拖动层。分享给大家供大家参考,具体如下: 运行效果图如下: 完整代码如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery切换特效与技巧总结》、《

  • 本文向大家介绍jQuery实现的产品自动360度旋转展示特效源码分享,包括了jQuery实现的产品自动360度旋转展示特效源码分享的使用技巧和注意事项,需要的朋友参考一下 这是一款基于jQuery实现的产品自动360度旋转展示特效代码,可以对产品进行360度旋转展示,更好的让顾客了解产品的全部外观细节。 jQuery产品360度旋转展示代码,支持预加载,能够快速全面的的预览产品的图片,主要原理是利

  • 本文向大家介绍jquery实现仿JqueryUi可拖动的DIV实例,包括了jquery实现仿JqueryUi可拖动的DIV实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery实现仿JqueryUi可拖动的DIV。分享给大家供大家参考。具体如下: 这是用Jquery写的代码,仿JQUERYUI的Draggable或者是Dialog,希望大家喜欢,写的一个小东西。参考了下网上的其他

  • 本文向大家介绍jQuery实现鼠标拖动图片功能,包括了jQuery实现鼠标拖动图片功能的使用技巧和注意事项,需要的朋友参考一下 本例利用jQuery实现一个鼠标托动图片的功能。 首先设一个wrapper,wrapper内的坐标即图片移动的坐标 设置图片div,这个div即要拖动的div 上面设置了wrapper的定位为relative,div1的定位为absolute。 接下来设计拖动的算法: 思