相关: How do I run different versions of jQuery on the same page?
我有一个使用大量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需要添加其他东西才能拖放工作?
答案 0 :(得分:1)
由于您从未说过在使用JQuery时使用的是什么版本的JQuery,因此我们没有参考资料来了解自那时起实际发生了多少变化。最好的办法就是重写它,自从任何旧版本的JQuery以来发生了很长的变化列表。