我只想浏览器记住带有cookie的条形位置。每当用户拖动条形图并点击其他内容(页面刷新)时,条形图应保持在最后位置。
我似乎无法让它发挥作用。此外,我希望当用户第一次访问网站时,可以随意分配条形图。
我已经建立了一个快速的例子。也许你知道我在这里做错了什么:http://jsfiddle.net/RZQ8H/
$("ul.bars li").draggable({
stop: function(event, ui) {
var currentPos = $(this).position();
var currentTop = Math.round(currentPos.top);
// save cookie when stopped dragging
$.cookie('position' + $(this).index('li').toString(), currentTop.toString());
}
});
加载页面时的位置......
// initial position of elements
$("ul.bars li").each(function() {
// if no cookie is set (first visit to page) all bars should be distributed
// randomly across the document
if ( $.cookie('position'+ $(this).index('li').toString()) ) {
var doc = $(document).height() - 50;
// random distribution of elements
$("ul.bars li").each(function() {
var randPos = Math.random(0)*doc;
$(this).css('top' , randPos+'px');
});
} else {
// if a cookie exists (the bars have already been dragged)
// remember the position
var savedPos = $.cookie('position' + $(this).index('li').toString());
$(this).css({ top: savedPos + 'px' });
}
});
答案 0 :(得分:0)
你的病情错了:
if ($.cookie('position'+ $(this).index('li').toString()) ) {
// random distribution of elements
} else {
// if a cookie exists (the bars have already been dragged)
// remember the position
}
交换它,这样如果存在cookie,它就不会随机分发它们。
if (!$.cookie('position'+ $(this).index('li').toString()) ) {