this.appendChild(a) - 对方法或属性访问的意外调用

时间:2011-12-13 20:20:12

标签: javascript jquery internet-explorer runtime infinite-scroll

我在IE8和IE7以及IE6上有运行时错误,它说明错误发生在31852行的jQuery.min.js

以下是我编写的代码,所以我认为问题在于无限滚动插件,因为它会将项目附加到文档中。

经过一些进一步调试后,似乎有问题的一行是这样的:

this.appendChild(a)

来自jQuery.min.js,即根据调试工具在这一行上窒息。

var $container = $('.section');

    function getInternetExplorerVersion()
    {
      var rv = -1; // Return value assumes failure.
      if (navigator.appName == 'Microsoft Internet Explorer')
      {
        var ua = navigator.userAgent;
        var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
          rv = parseFloat( RegExp.$1 );
      }
      return rv;
    }

      var ver = getInternetExplorerVersion();

      if ( ver > -1 )
      {
        $container.masonry({
            itemSelector: '.section .article',
            isFitWidth: true,
            columnWidth: 270
          });
      } else {
        $container.imagesLoaded(function(){
          $container.masonry({
            itemSelector: '.section .article',
            isFitWidth: true,
            columnWidth: 270
          });
        });
      }

    $container.infinitescroll({
      navSelector  : '.footer .nav ul',
      nextSelector : '.footer .nav ul li.next a',
      itemSelector : '.section .article',
      loadingImg   : "images/loader.gif", 
        loadingText  : 'Loading more wishes, please wait...',
        donetext     : "All Wishes have been loaded."
      },
      function( newElements ) {
        var $newElems = $( newElements ).css({ opacity: 0 });
        $newElems.imagesLoaded(function(){
          $newElems.animate({ opacity: 1 });
          $container.masonry( 'appended', $newElems, true ); 
        });
      }
    );

1 个答案:

答案 0 :(得分:0)

您使用的是ulightbox插件吗?

就我而言,我使用的是ulightbox,所以,请尝试删除一些插件。