我用 htc 封装了一个 拖动象并保存位置的功能,为什么不同的页面位置会一样?
htc代码如下:
<public:component>
<public:attach event='oncontentready' onevent='initElement()'>
<public:attach event='onmousedown' onevent='readyDrag()'/>
<public:attach event='onmouseup' onevent='cancelDrag()'/>
<script>
function getCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = element.document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (element.document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = element.document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function getCookieVal (offset) {
var endstr = element.document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = element.document.cookie.length;
return unescape(element.document.cookie.substring(offset, endstr));
}
function setCookie (name, value) {
element.document.cookie = name + "=" + escape (value)+";expires=Sat, 01-Jan-2108 00:00:00 GMT"
}
</script>
<script>
function readyDrag(){
tempx=style.pixelLeft;
x=event.clientX;
onmousemove=function(){
style.pixelLeft =tempx+event.clientX-x;
};
}
function cancelDrag(){
setCookie('posx',style.left)
onmousemove=null;
}
function initElement(){
style.position="relative";
if(x=getCookie('posx')) style.left=x;
}
</script>
</public:componet>