所以我创建了一个脚本,当一个小部件被移动时,新的坐标被上传到一个表中。数据到达那里,但当我刷新页面时,小部件恢复到原始位置。这是因为我在页面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选项,安全....),它只是一个概念。