最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jquery實現(xiàn)拖動效果

 更新時間:2016年08月10日 08:42:23   作者:沐禹辰  
這篇文章主要為大家詳細介紹了jquery實現(xiàn)拖動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

因為想實現(xiàn)相框的拖到,找了半天的原因愣是沒有找到錯誤,所以,只能翻看源碼了 

如何實現(xiàn)拖動效果?

 

首先分析下拖動效果原理:
1.當鼠標在被拖動對象上按下鼠標(觸發(fā)onmousedown事件,且鼠標在對象上方)
2.開始移動鼠標(觸發(fā)onmousemove事件)
3.移動時更顯對象的top和left值
4.鼠標放開停止拖動(觸發(fā)onmouseup事件)
注意:拖動的對象必須是定位對象(即設置了position:absolute或 relative)。 

也就是說拖動事件=onmousedown事件+onmousemove事件 

整個過程就是處理這三個事件來模擬drag事件
現(xiàn)在看看我實現(xiàn)的源代碼: 

html代碼: 

<div class="drag">
 <p class="title">標題(點擊標題拖動)</p>
</div>

<div class="drag1">
 <p class="title">標題</p>
 點擊我移動
</div>

 

jquery插件代碼:

(function($){
 $.fn.drag=function(options){

 //默認配置
 var defaults = {
 handler:false,
 opacity:0.5
 };

 // 覆蓋默認配置
 var opts = $.extend(defaults, options);

 this.each(function(){

 //初始標記變量
 var isMove=false,
 //handler如果沒有設置任何值,則默認為移動對象本身,否則為所設置的handler值
 handler=opts.handler?$(this).find(opts.handler):$(this),
 _this=$(this), //移動的對象
 dx,dy;

 $(document)
 //移動鼠標,改變對象位置
 .mousemove(function(event){
 // console.log(isMove);
 if(isMove){

 //獲得鼠標移動后位置
 var eX=event.pageX,eY=event.pageY;

 //更新對象坐標
 _this.css({'left':eX-dx,'top':eY-dy});

  }
 })

 //當放開鼠標,停止拖動
 .mouseup(function(){
 isMove=false;
 _this.fadeTo('fast', 1);
 //console.log(isMove);
  });

 handler
 //當按下鼠標,設置標記變量isMouseDown為true
 .mousedown(function(event){

 //判斷最后觸發(fā)事件的對象是否是handler
 if($(event.target).is(handler)){

 isMove=true;
 $(this).css('cursor','move');

 //console.log(isMove);
 _this.fadeTo('fast', opts.opacity);

 //鼠標相對于移動對象的坐標
 dx=event.pageX-parseInt(_this.css("left"));
 dy=event.pageY-parseInt(_this.css("top"));

  }
   });
  });
 };
 })(jQuery);

 

調(diào)用方法:

$(function(){

 //拖動標題
 $(".drag").drag({
handler:$('.title'),//操作拖動的對象,此對象必須是移動對象的子元素
opacity:0.7 //設置拖動時透明度
});

 //拖動主體對象
 $(".drag1").drag({
 opacity:0.7
 });

 });

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

阳朔县| 瑞丽市| 仁寿县| 察隅县| 长寿区| 克什克腾旗| 英德市| 怀仁县| 浦城县| 西和县| 祁门县| 那坡县| 家居| 卢氏县| 罗田县| 木里| 宿松县| 英山县| 朔州市| 清镇市| 绥阳县| 十堰市| 清河县| 紫云| 东明县| 龙口市| 乌拉特中旗| 兴安盟| 当涂县| 岢岚县| 兰坪| 梁平县| 昌图县| 富源县| 盐源县| 五莲县| 万源市| 苍梧县| 安国市| 精河县| 平山县|