<div id="content"> <h2>Touch and drag content</h2> <p>Lorem ipsum dolor sit amet...</p> </div>
#content { position:absolute; left:50px; top:50px; width:500px; height:350px; text-align:justify; }
// (function($){ // $.fn.touchanddrag = function(){ // , // , css this.wrapInner('<div>'); // , - // (box) - , (data) - var box = this, data = this.children(); // box.css({overflow:'hidden'}); // data data.css({position:'absolute',cursor:'default'}); // data.mousedown(function(e){ // var hgtBox = box.height(), hgtData = data.height(); // , if (hgtData>hgtBox) { // var posTap = e.pageY, // data box posData = data.position().top, posShift, // mouseMove = function(e){ // , if (e.which==1){ // , posShift = e.pageY-posTap; // if (data.position().top>0){ // , 5 // data.css({top:(posData+posShift)/5}); // } else if ((data.position().top+hgtData)<hgtBox){ // data.css({top:(hgtBox-hgtData)+(posShift/5)}); // } else { // data.css({top:posData+posShift}); } } else { mouseUp(); } }, // mouseUp = function(){ // $(document).off('mousemove',mouseMove).off('mouseup',mouseUp); $(document).off('mousedown',selection); // data.css({cursor:'default'}); // if (data.position().top>0){ // // data.animate({top:0},250); // } else if ((data.position().top+hgtData)<hgtBox) { // data.animate({top:hgtBox-hgtData},250); } }, // selection = function(){ if (window.getSelection){window.getSelection().removeAllRanges()} else {document.selection.empty()} return false; }; // data.css({cursor:'move'}); // $(document).on('mousedown',selection).on('mousemove',mouseMove); $(document).on('mouseup',mouseUp).on('contextmenu',mouseUp); $(window).on('blur',mouseUp); } }); return this; }; })(jQuery);
$('#content').touchanddrag();
if (e.which==1)
data.css({cursor:'move'})
Source: https://habr.com/ru/post/313922/
All Articles