Sha*_*313 9 javascript cookies jquery drag-and-drop position
我正在创建一个拖放插件,我想让它有点独特我会添加一个cookie功能来保存拖动元素的位置.
我目前正在使用以下代码来获取和设置cookie:
$.setCookie = function(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
$.getCookie = function(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这些工作正常.但我无法工作的是:
if (o.cookies === true) {
$(oj).mouseup(function() {
var currentPos = $(oj).position();
$.setCookie('tposition22' + $(oj).index(), currentPos.top, 365);
$.setCookie('lposition22' + $(oj).index(), currentPos.left, 365);
alert('Cookies Set!')
});
$(function() {
var savedLeftPosition = $.getCookie('lposition22' + $(oj).index());
var savedTopPosition = $.getCookie('tposition22' + $(oj).index());
$(oj).css({
top: savedTopPosition,
left: savedLeftPosition
});
});
}
Run Code Online (Sandbox Code Playgroud)
代码说明:o.cookies === true检查cookie是否设置为true; setCookie工作(我检查过); oj指的this是选择器.
问题:我需要能够获得cookie的值.因为,我当前正试图使值成为被拖动元素的位置,然后检索它.
正如你所看到的$.setCookie('tposition22' + $(oj).index(), currentPos.top, 365);,currentPos.top是在价值点.获取拖动元素的Y位置.
主要问题:有没有办法检索valuecookie?
当然你可以检索 cookie 的值。不过,我不喜欢重新发明轮子,既然您已经在 jQuery-ville,为什么不使用 jQuery cookie 插件呢?我认为甚至还有一个“官方”的。应该提供对与 cookie 交互所需的一切的简单访问(实际上,只需获取和设置一个!)。
关于您的具体代码,o(from o.cookies) 来自哪里,为什么它应该是一个布尔值?
旁注:几乎所有代码都可以从正确命名的变量中受益。让你的压缩器减少到单个字母将使你的代码更具可读性。
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |