相思资源网 Design By www.200059.com
本文实例讲述了jQuery实现拖拽效果插件的方法。分享给大家供大家参考。具体如下:
下面的jQuery插件允许你通过鼠标右键点击拖动overflow的元素,这个插件可以在移动设备上运行
/** * jQuery Drag and Scroll * * Copyright (c) 2012 Ryan Naddy (ryannaddy.com) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ (function($){ var down = false; var prevX = 0; var prevY = 0; var x = 0; var y = 0; var px = 0; var py = 0; var lastPX = -1; var lastPY = -1; var $target = null; var $me = null; var $selector = ""; var settings = { mouseButton: 3, context: false, selectText: false }; $.fn.dragScroll = function(options){ settings = $.extend(settings, options); $selector = $(this).selector; $(this).contextmenu(function(){ return false; }).bind("mousedown touchstart", function(e){ $me = $(this); e = event.touches "id") != $target.attr("id")){ return false; } if(e.which == settings.mouseButton || event.touches){ $me.css("cursor", "move"); down = true; } px = $me.scrollLeft(); py = $me.scrollTop(); x = px + e.pageX; y = py + e.pageY; prevX = x; prevY = y; return true; }).bind("mouseup touchend", function(e){ $me = $(this); e = event.touches "cursor", "auto"); down = false; }).bind("mousemove touchmove", function(e){ $me = $(this); $me = $me.closest($selector); e = event.touches "id") != $target.attr("id")){ return false; } $me.css("cursor", "move"); px = $me.scrollLeft(); py = $me.scrollTop(); x = px + e.pageX; y = py + e.pageY; $me.scrollLeft(px + (-(x - prevX))); $me.scrollTop(py + (-(y - prevY))); prevX = x - (x - prevX); prevY = y - (y - prevY); if(lastPX == px) prevX = x; if(lastPY == py) prevY = y; lastPX = px; lastPY = py; } return true; }); return this; } })(jQuery);
希望本文所述对大家的jQuery程序设计有所帮助。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无jQuery实现拖拽效果插件的方法的评论...