[英]Adding cookies to drag and drop
我正在創建一個拖放插件,我想讓它有點獨特我會添加一個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);
}
}
}
這些工作正常。 但我無法工作的是:
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
});
});
}
代碼說明: o.cookies === true
是檢查cookie是否設置為true; setCookie工作(我檢查過); oj
指的是this
,選擇。
問題:我需要能夠獲得cookie的值。 因為,我當前正試圖使值成為被拖動元素的位置,然后檢索它。
正如你在$.setCookie('tposition22' + $(oj).index(), currentPos.top, 365);
看到的那樣$.setCookie('tposition22' + $(oj).index(), currentPos.top, 365);
, currentPos.top
在價值點。 獲取拖動元素的Y位置。
主要問題:有沒有辦法檢索cookie的value
?
當然,您可以檢索cookie的值。 我不喜歡重新發明輪子,因為你已經在jQuery-ville,為什么不使用jQuery cookie插件呢? 我認為甚至還有一個“正式”的。 應該提供對與cookie交互所需的一切的簡單訪問(實際上,只需獲取並設置一個!)。
關於你的具體代碼, o
(來自o.cookies
)來自哪里,為什么它應該是一個布爾值?
旁注:幾乎所有代碼都可以從正確命名的變量中受益。 讓你的minifier減少到單個字母將使你的代碼更具可讀性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.