时间:2021-05-26
本文实例讲述了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 ? event.touches[0] : e; $target = $(e.target); $target = $target.closest($selector); if(settings.viewPort){ if(!settings.context){ $me.contextmenu(function(){ return false; }); } } if(!settings.selectText){ $me.attr('unselectable', 'on').css('user-select', 'none').on('selectstart', false); } $me = $me.closest($selector); if($target && $me.attr("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 ? event.touches[0] : e; $me.css("cursor", "auto"); down = false; }).bind("mousemove touchmove", function(e){ $me = $(this); $me = $me.closest($selector); e = event.touches ? event.touches[0] : e; if((e.which == settings.mouseButton || event.touches) && down){ if(event.touches){ event.preventDefault(); } if($target && $me.attr("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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用jquery拖拽排序插件制作拖拽排序效果是一款非常实用的鼠标拖拽布局插件。效果图如下:效果演示源码下载html代码:水平拖拽12345$(function(
本文实例为大家分享了bootstrap模态框实现拖拽效果,供大家参考,具体内容如下项目中用的有点乱,jquery和angularjs一起搞,有些插件用的jque
本文实例为大家分享了jquery插件实现拖拽删除图片功能的具体代码,供大家参考,具体内容如下实现以下效果完全拖出这个层,图片会消失,否则图片会回到原来的位置#m
今天写了一天这个jquery插件:可以实现对div进行拖拽来调整大小的功能。复制代码代码如下:(function($){$.fn.dragDivResize=f
本文实例讲述了jquery实现鼠标拖拽滑动效果来选择数字的方法。分享给大家供大家参考。具体如下:这是使用jqueryui实现的一个精美实用的效果,可以通过鼠标拖