2013-06-30 113 views
0

我正在处理从服务器上的文件加载“应用程序”的应用程序。目前,我必须以特定的顺序加载应用程序,否则他们将在阵列位置中出现错误的位置。如何使用Javascript设置动态加载元素的位置?

下面是帮助解释我的意思的代码。

function getFacebook() { 
    var appname = "facebooka1thd"; 
    $.get("apps/"+appname+"/"+appname+".html", function(data){ 
     $('.AppList').append(data); 
     $.cookie(appname, 1, { expires : 365 }); 
     checkpositions(); 
    }); 
}; 

function checkpositions() { 
    if ($.cookie('PosApps')){ 
     var Poscookie = $.cookie('PosApps'); 
     var Pos = JSON.parse(Poscookie); 

     $("#User").css({top:Pos[0].top, left:Pos[0].left}); 
     $("#facebooka1thd").css({top:Pos[1].top, left:Pos[1].left}); 
     $("#youtubea2thd").css({top:Pos[2].top, left:Pos[2].left}); 
    }; 
}; 

function getAppPositions() { 
    var apps = $(".App"), 
    positions = []; 

    $.each(apps, function (index, app) { 
     var positionInfo = $(app).position(); 

     positions.push(positionInfo); 
     console.log(positionInfo); 
    }); 
    var setPositions = JSON.stringify(positions); 

    $.cookie("PosApps", setPositions, { expires : 365 }); 
}; 

我想的代码,以适应本数关的应用程序和它们被添加或删除的顺序。

基本上我没有线索如何解决这个-_-我认为,我的大部分代码将在-为了改变这是可能的,因为在目前的位置被保存在顺序应用程序被添加,但是当用户移除其中一个应用程序并且相对于被添加的应用程序的顺序而设置的位置时,这不会有帮助。

任何帮助,这将是伟大的!

回答

0

我设法解决它为我自己...

function checkpositions() { 
    if ($.cookie('PosApps')){ 
     var Poscookie = $.cookie('PosApps'); 
     var Pos = JSON.parse(Poscookie); 

     for (var i = 0; i < Pos.length; i++) { 
      $("#"+Pos[i][0]).css({top:Pos[i][1].top, left:Pos[i][1].left}); 
     }; 
    }; 
}; 

function getAppPositions() { 
    var apps = $(".App"), 
    positions = []; 

    $.each(apps, function (index, app) { 
     var id = $(app).attr('id'); 
     var positionInfo = [id,$(app).position()]; 

     positions.push(positionInfo); 
     console.log(positionInfo); 
    }); 
    var setPositions = JSON.stringify(positions); 

    $.cookie("PosApps", setPositions, { expires : 365 }); 
}; 

所有我要做的就是让一个二维数组,其位置之前的元素的ID和使用POS [我设置的CSS ] [0]为id和Pos i .top /左边的位置。希望这可以帮助任何遇到这种事情的人。另外如果你确实遇到了问题,我建议你去这个site。他们的教程非常好,帮助我解决了这个问题。

相关问题