2

我很难创建一个 cookie(使用 jquery cookie 插件)来记住页面上所有对话框的位置(类 .dialog)。对话框是可拖动的。

这是我尝试过的:

    <script>
  jQuery(document).ready(function() {

  // cookie period
  var days = 1;

  // load positions form cookies

  $(".dialog").each( function( index ){

  $(this).css( "left",

  $.cookie( "im_" + this.id + "_left") );

  $(this).css( "top",

  $.cookie( "im_" + this.id + "_top") );

  });

  // bind event
  $('.dialog').bind('dragstop', savePos);

  // save positions into cookies
  function savePos( event, ui ){

  $.cookie("im_" + this.id + "_left",

  $(this).css("left"), { path: '/', expires: days });

  $.cookie("im_" + this.id + "_top",

  $(this).css("top"), { path: '/', expires: days });
  }
  });

   alert( $.cookie('') );
      </script>


          <script type="text/javascript">
        $.ui.dialog.defaults.stackfix = true;
        $(function() {
                $('#dialog').dialog({
                        autoOpen: true,   
                });

                $('#dialog_open').click(function() {
                        $('#dialog').dialog('open');
                        return false;
                }); 
        });
        </script>

div id="dialog" title="基本对话框"> 文本放在这里。/div

您的一些大师建议将不胜感激

4

1 回答 1

0

尝试使用 .position().left 和 .position().right 而不是 .css("left") 和 .css("right") 进行阅读。

这可能是问题所在。如果这不能解决问题,请检查 cookie 是否实际设置在浏览器中以及您是否能够读取它们。

于 2010-02-23T01:58:27.693 回答