jquery Line 4618上的IE错误

时间:2010-04-26 16:41:47

标签: jquery css user-interface cookies

我正在尝试使用以下jquery脚本将一些css信息保存到cookie中。

对于Firefox来说,一切都非常好,但是只要我包含这个文件,IE就会在jquery Line 4618上抛出错误

jQuery(document).ready(function() {

  // cookie period
  var days = 365;

  // load positions and z-index from cookies
  $("div[id*='tqitem']").each( function( index ){
    $(this).css( "left", 
      $.cookie( "im_" + $(this).attr("id") + "_left") );
    $(this).css( "top", 
      $.cookie( "im_" + this.id + "_top") );
     $(this).css( "zIndex", 
      $.cookie( "tqz_" + this.id + "_zIndex") );
  });


  //  bind event
  $(".pagenumbers").draggable({cursor: "move"});
  $("div[id*='tqitem']").bind('dragstop', savePos);
  $("div[id*='tqitem']").bind('dragstop', savePot);


  // save positions into cookies
  function savePos( event, ui ){
    $.cookie("im_" + $(this).attr("id") + "_left", 
      $(this).css("left"), { path: '/', expires: days });
    $.cookie("im_" + this.id + "_top", 
      $(this).css("top"), { path: '/', expires: days });
  $.cookie("im_" + this.id + "_zIndex", 
     $(this).css("zIndex"), { path: '/', expires: days });
  };

var thiss = $("div[id*='tqitem']");

function savePot(){
      $("div[id*='tqitem']").each(function (i) {
          $.cookie("tqz_" + $(this).attr("id") + "_zIndex", 
  $(this).css("zIndex"), { path: '/', expires: days });
      })
};

});



/*ADDITIONAL INFO:

SCRIPT HIERARCHY

Jquery itself
Jquery ui
Jquery cookie plugin
Save cookies js

no matter how i ordered them the result did not change*/

2 个答案:

答案 0 :(得分:0)

在实际声明它们之前,您尝试使用函数savePossavePot。如果函数尚不存在,则无法将函数绑定到事件。

savePossavePot函数的声明放在之前将它们绑定到事件的位置。

答案 1 :(得分:0)

我认为你需要将加载和保存部分中的其余this调用包装成jquery对象。你是在第一行做的,但你不会在其余部分做到这一点。例如,此代码:

// load positions and z-index from cookies
  $("div[id*='tqitem']").each( function( index ){
    $(this).css( "left", 
      $.cookie( "im_" + $(this).attr("id") + "_left") );
    $(this).css( "top", 
      $.cookie( "im_" + this.id + "_top") );
     $(this).css( "zIndex", 
      $.cookie( "tqz_" + this.id + "_zIndex") );
  });

应该是这样的:

// load positions and z-index from cookies
  $("div[id*='tqitem']").each( function( index ){
    $(this).css( "left", 
      $.cookie( "im_" + $(this).attr("id") + "_left") );
    $(this).css( "top", 
      $.cookie( "im_" + $(this).attr("id") + "_top") );
     $(this).css( "zIndex", 
      $.cookie( "tqz_" + $(this).attr("id") + "_zIndex") );
  });