簡體   English   中英

如何獲得較舊的jQuery代碼以與較新版本的jQuery一起使用?

[英]How can I get older jquery code to work with newer versions of jquery?

相關: 如何在同一頁面上運行不同版本的jQuery?


我的頁面使用了很多jquery,也有拖放操作,也可以將位置保存到mysql DB中。 我的jquery文件大約有2年的歷史,今天我嘗試使用一個較新的版本,因為有一個我想使用的腳本,但該腳本僅在jquery的過去一年中可用於較新的版本。

放入較新版本的jquery之后,我的拖放無法正常工作,除拖放代碼外,其他所有內容都在我的頁面上正常工作。 它部分起作用。

我的頁面有2列,您可以在2個列中拖動項目,但是現在它只能在左側列中拖動,而右側列中的項目將不會移動。

左列中確實移動的項目將找不到放置的位置,以便在釋放該項目時將其丟失。 我的代碼的ajax部分仍然有效,因為當我“丟失”一個項目時,它將更新數據庫,並且該頁面上我的項目列表中將缺少項目ID號。

我怎樣才能使舊的jQuery代碼正常工作?

這是我的代碼

<script>
var _x;
var _y;
var _pos;
if(document.all){document.body.onload=b_onload;}
else{document.body.setAttribute("onload","b_onload()");}
function b_onload(){
    $('#columns td.portlet_td').each(function(i){
        $(this).children("br").remove();
    });
    $('#columns td.portlet_td').Sortable(
        {
            accept: 'portlet',
            helperclass: 'sort_placeholder',
            activeclass :   'sortableactive',
            opacity: 0.7,
            tolerance: 'touch',
            handle:'.drag-handler',

            onStop:function(){

                var x = getPos();

                if(!$("#lgif").get(0)){
                    $('<i'+'mg id="lgif" src="images/loading.gif" style="display:block;position:absolute;top:500px;left:50%;" />').appendTo('body');
                }

                var __top = (document.body && document.body.scrollTop)?(document.body.scrollTop):((document.documentElement && document.documentElement.scrollTop)? document.documentElement.scrollTop: 0);

                $("#lgif").css({top:__top+'px'});

                $("#lgif").show();
$.getJSON(
    '/member/beta/saveposition.php',
    {
        uid:(USER.ID),
        position:x
    },
    function(json){
        $("#lgif").hide();
    }
);
            }
        }
    );



};
function resetPos(){
    $.getJSON(
        '/member/beta/saveposition.php',
        {
            uid:(USER.ID),
            position:"0:0|0:1|0:2|0:3|0:4|0:5|0:6|1:7|1:8|1:9|1:10|1:11|1:12|1:13|1:14|1:15|1:16|"
        },
        function(json){
            $("#lgif").hide();
        }
    );
}
function getPos(){
    _pos="";
    $('#columns td.portlet_td').each(function(i){
        _x=i;
        $(this).children(".portlet").each(function(j){
            _y=j;
            var index = this.getAttribute("id").split('id')[1] - 100;
            var pos=_x+":"+index;
            _pos+=pos+"|";
        });
    });
    return _pos;
}
</script>

另請注意,要正常工作的我的jquery版本需要另一個名為interface的文件,該接口文件不能與新的jquery版本一起使用,因此也許新的jquery需要添加其他內容才能進行拖放工作?

由於您從未說過在創建JQuery時使用的是哪個版本,因此我們沒有參考資料可以查看自那時以來實際發生了多少變化。 最好的選擇就是重寫它,自從任何舊版本的JQuery以來,已經發生了很長的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM