2011-08-01 84 views
1

我不知道該怎麼做。請幫忙。在cookie中記住位置和大小

我已經在頁面上構建了一個可拖動縮放項目的網站。你可以看到我在這裏所做的...... http://www.hagueandhague.co.uk/test/hagueandhague/httpdocs/index.html

它使用Java腳本... http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js

自己需要的網站做的是記住項目,使的位置和規模當訪問者返回該網站時,這些項目是他們離開他們的地方。

我相信可以將這些信息存儲在一個cookie中,但是我不知道如何去做或者讓它工作。

任何幫助都會很好,但如果是英語/外行的話,會更好。

在此先感謝。

James。

回答

1

按照「外行人」的術語,您希望使用Draggable插件的stop回調來獲取元素的位置並使用jQuery cookie插件將其保存到cookie中。然後當用戶返回時,讀取cookie並重新定位元素。

$(".selector").draggable({ 
    stop: function(event, ui) { 
     $.cookie("elementIDCookie", ui.position); 
    } 
}); 

要重新定位元件當用戶返回:

$(".select").css({ "left" : $.cookie("elementIDCookie").left, "top" : $.cookie("elementIDCookie").top }); 

更多信息:

http://jqueryui.com/demos/draggable/

https://github.com/carhartl/jquery-cookie

+0

我認爲HTML5本地存儲空間會更加有用 - cookie的大小是非常有限的,它是不值錢的每一次他們都發送回服務器 - [見(HTTP:// plugins.jquery.com/project/jStorage) –

1
<script> 
    $(document).ready(function(){ 
     $('.dragboard').draggable({ 
      stop: function(event, ui) { 
       $.cookie('elementLeft', ui.position.left); 
       $.cookie('elementTop', ui.position.top); 
      } 
     }); 
     $('.dragboard').css({left : parseInt($.cookie('elementLeft')), top : parseInt($.cookie('elementTop'))}); 
    }); 
    </script> 
0

釷是會直接開箱的 - #選擇權是拖動的div。

 $(document).ready(function() { 
     if ($.cookie("rcpos") != undefined) { 
      var unwrapped = window.JSON.parse($.cookie("rcpos")); 
      var left = window.JSON.parse($.cookie("rcpos")).left; 
      var top = window.JSON.parse($.cookie("rcpos")).top; 
      $("#pick-right").css("left", left + "px"); 
      $("#pick-right").css("top", top + "px"); 
     } 
    }); 

    $(function() { 
     $("#pick-right").draggable({ stop: function (event, ui) { 
      $.cookie("rcpos", window.JSON.stringify(ui.position)); 
     } 
     }); 
    });