可拖动小部件,如何延迟外观和替换坐标与javascript



所以我创建了一个脚本,当一个小部件被移动时,新的坐标被上传到一个表中。数据到达那里,但当我刷新页面时,小部件恢复到原始位置。这是因为我在页面css部分使用position: absolute;,在拖动图标之前首先显示图标。

所以我认为,当页面加载时,我可以延迟图标/小部件显示,直到php有坐标或没有坐标,在这种情况下,它不会改变position: absolute;

#icon初始设置为display: none;

我尝试了一个简单的脚本通过body onload

<body onload="position();">
<script>
document.getElementById("icon").style.display = "inline-block";
</script>

我想我已经弄明白了,我通过php设置了默认坐标我可以通过检查表是否被移动来更改

如果我真的理解你的问题,首先设置你的小部件显示在none,并在你的功能位置(),你必须异步请求DB与AJAX(使用jquery为例)或与websockets。获得数据后,在正确的位置显示小部件。

一个基本的ajax示例:
function position()
{
    $.ajax({url: "your php file for getting data from db", success: function(result){
       // result will contain data,this can be xml,text,json...what you want
      // here you show your widget with the position result.
    }});
}
php文件:

<?php 
//DB connexion,....  
$result = // get....
return $result;
?>

这不是一个完整的答案(ajax选项,安全....),它只是一个概念。