国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分享一個jQuery的拖動排序插件

zzbo / 1519人閱讀

摘要:基于的拖動排序插件代碼地址核心代碼由于有些瀏覽器的圖片和鏈接是默認可以拖動的,所以屏蔽掉的事件只允許鼠標左鍵拖動禁止在表單元素里面拖動滾動條的位置向上排序向下排序用法水平有限,歡迎提出寶貴意見一起交流學(xué)習(xí)

基于jQuery的拖動排序插件

代碼地址:https://github.com/ylb1992/dr...
核心代碼:

(function($) {
    "use strict";
    $.fn.dragSort = function(options) {
        var settings = $.extend(true, {
            targetEle: "li",
            replaceStyle: {
                "background-color": "#f9f9f9",
                "border": "1px dashed #ffffd"
            },
            dragStyle: {
                "position": "fixed",
                "box-shadow": "10px 10px 20px 0 #eee"
            }
        }, options);

        return this.each(function() {
            
            // 由于有些瀏覽器的圖片和鏈接是默認可以拖動的,所以屏蔽掉document的dragstart事件 
            document.ondragstart = function() {
                return false;
            }

            var thisEle = $(this);
            thisEle.on("mousedown.dragSort", settings.targetEle, function(event) {

                var selfEle = $(this);

                // 只允許鼠標左鍵拖動
                if(event.which !== 1) {
                    return;
                }

                // 禁止在表單元素里面拖動
                var tagName = event.target.tagName.toUpperCase();
                if(tagName === "INPUT" || tagName === "TEXTAREA" || tagName === "SELECT") {
                    return;
                }

                var moveEle = $(this);

                var offset = selfEle.offset();
                var rangeX = event.pageX - offset.left;
                var rangeY = event.pageY - offset.top;

                var replaceEle = selfEle.clone()
                    .css("height", selfEle.outerHeight())
                    .css(settings.replaceStyle)
                    .empty();
                settings.dragStyle.width = selfEle.width();
                var move = true;

                $(document).on("mousemove.dragSort", function(event) {
                    if (move) {
                        moveEle.before(replaceEle).css(settings.dragStyle).appendTo(moveEle.parent());
                        move = false;
                    }

                    var thisOuterHeight = moveEle.outerHeight();

                    // 滾動條的位置
                    var scrollTop = $(document).scrollTop();
                    var scrollLeft = $(document).scrollLeft();


                    var moveLeft = event.pageX - rangeX - scrollLeft;
                    var moveTop = event.pageY - rangeY - scrollTop;



                    var prevEle = replaceEle.prev();
                    var nextEle = replaceEle.next().not(moveEle);

                    moveEle.css({
                        left: moveLeft,
                        top: moveTop
                    });


                    // 向上排序
                    if (prevEle.length > 0 && moveTop + scrollTop < prevEle.offset().top + prevEle.outerHeight() / 2) { 
                        replaceEle.after(prevEle);
                    //向下排序
                    } else if (nextEle.length > 0 && moveTop + scrollTop > nextEle.offset().top - nextEle.outerHeight() / 2) { 
                        replaceEle.before(nextEle);
                    }
                });

                $(document).on("mouseup.dragSort", function(event) {
                    $(document).off("mousemove.dragSort mouseup.dragSort")
                    if (!move) {
                        replaceEle.before(moveEle.removeAttr("style")).remove();
                    }
                });
            });
        });
    };
})(jQuery)

用法:

$("#wrap").dragSort();

水平有限,歡迎提出寶貴意見一起交流學(xué)習(xí)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/83239.html

相關(guān)文章

  • Web前端常用插件

    摘要:彈窗視頻嵌入插件幻燈片圖片切換手機端響應(yīng)式日期控件上傳圖片控件校驗控件分頁靜態(tài)分頁動態(tài)分頁相冊效果控件多級下拉圖片延遲加載或響應(yīng)式管理模板插件庫大轉(zhuǎn)盤九宮格效果整屏滾動滾動效果用于移動項目的光滑菜單瀏覽器端格式化工具千手觀音 彈窗 1.blockUI2.overlay 3.sweetAlert 視頻 1.jwplayer2.video.js html53.swfobject Flas...

    quietin 評論0 收藏0
  • 分享一個可用于拖動排序vue組件

    摘要:最近要做拖拽相關(guān)的功能,本來想自己寫,忽然想起來之前在輪子工廠有更新過,還是很好用滴。介紹一款可任意拖動排序的插件。支持桌面和移動端,拖拽過渡動畫美觀。 最近要做拖拽相關(guān)的功能,本來想自己寫,忽然想起來之前在輪子工廠有更新過,vue-dragging還是很好用滴。 介紹 vue-dragging -- 一款可任意拖動排序的vue插件。支持桌面和移動端,拖拽過渡動畫美觀。支持vue1和v...

    MasonEast 評論0 收藏0
  • 用dragsort +bootstrap+php實現(xiàn) table拖動自動保持排序,前面加序號及時更新

    摘要:插件美化實現(xiàn)拖拽排序,保持序號不變,但真實排序保持變化。代碼說明為自定義請求,定義了數(shù)據(jù)接收處理和發(fā)送給后臺方法。里面有具體處理數(shù)據(jù)的樣式以及處理發(fā)送數(shù)據(jù)保存到數(shù)據(jù)庫的小。其他文件順序加載就好。 php+ajax+dragsort插件+bootstrap美化實現(xiàn)拖拽排序,保持序號不變,但真實排序保持變化。showImg(https://segmentfault.com/img/bVqK...

    wing324 評論0 收藏0
  • 拖放排序插件Sortable.js

    摘要:介紹是一款輕量級的拖放排序列表的插件雖然體積小,但是功能很強大下載地址官方特點支持觸屏設(shè)備和大部分瀏覽器以下的就不支持了,原因都懂得可以從一個列表容器中拖拽一個列表單元到其他容器或本列表容器中進行排序移動列表單元時有動畫支持拖放操作和可選擇 介紹 Sortable.js是一款輕量級的拖放排序列表的js插件(雖然體積小,但是功能很強大)下載地址:https://github.com/Ru...

    tomorrowwu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<