0

Chrome 開発コンソールで次のエラーが表示されます。

Uncaught TypeError: Cannot read property 'top' of undefined jquery.tools.min.js:19
c                                                           jquery.tools.min.js:19
a.extend.show                                               jquery.tools.min.js:19
(anonymous function)                                        jquery.tools.min.js:19
b.event.special.(anonymous function).handle                 jquery.min.js:4
b.event.dispatch                                            jquery.min.js:3
v.handle

サイトがページ上でアイドル状態のままになっていると、ユーザーからの入力がない場合でも、エラーの量は増加し続けます。これは何が原因ですか?

タブ jQuery:

$(document).ready(function () {
  $(this).scrollTop(0);                                                     //send user to top of page

/***********************************************************************************************************

LOAD TAB CONTENT

***********************************************************************************************************/
  $("#tabContent1").load("external/content.html", function () {                                 
    $("#offLogo").css({                                                     //apply CSS to offLogo
      width: "600px",
      margin: "auto",
      padding: "0px 0px 10px 0px"
    });
  });
  $("#tabContent2, #tabContent3, #tabContent4, #tabContent5, #tabContent6, #tabContent7").hide();       //hide tab content

  $("a").hover(function () {
    $(this).toggleClass('hover');                                           //toggle the hover class when user hovers over tab
  });

  $('a[name="#tabContent1"]').click(function () {                           //when user clicks the tab with the name tabContent1 do the following
    $("#tab2, #tab3, #tab4, #tab5, #tab6, #tab7").removeClass('activeTab');               //removes the activeTab class from all other tabs
    $(this).addClass('activeTab');                                          //adds activeTab class to the tab that was clicked
    $("#tabContent1").load("external/content.html", function () {           //loads external html file into content pane of the tab
      $("#offLogo").css({
        width: "600px",
        margin: "auto",
        padding: "0px 0px 10px 0px"
      });
    });
    $("#tabContent1").show();                                               //shows the content of the tab
    $("#tabContent2, #tabContent3, #tabContent4, #tabContent5, #tabContent6, #tabContent7").hide();
  });

  $('a[name="#tabContent2"]').click(function () {
    $("#tab1, #tab3, #tab4, #tab5, #tab6, #tab7").removeClass('activeTab');
    $(this).addClass('activeTab');
    $("#tabContent2").show();
    $("#tabContent1, #tabContent3, #tabContent4, #tabContent5, #tabContent6, #tabContent7").hide();
  });

  $('a[name="#tabContent3"]').click(function () {
    $("#tab1, #tab2, #tab4, #tab5, #tab6, #tab7").removeClass('activeTab');
    $(this).addClass('activeTab');
    $("#tabContent3").show();
    $("#tabContent1, #tabContent2, #tabContent4, #tabContent5, #tabContent6, #tabContent7").hide();
  });

  $('a[name="#tabContent4"]').click(function () {
    $("#tab1, #tab2, #tab3, #tab5, #tab6, #tab7").removeClass('activeTab');
    $(this).addClass('activeTab');
    $("#tabContent4").show();
    $("#tabContent1, #tabContent2, #tabContent3, #tabContent5, #tabContent6, #tabContent7").hide();
  });

  $('a[name="#tabContent5"]').click(function () {
    $("#tab1, #tab2, #tab3, #tab4, #tab6, #tab7").removeClass('activeTab');
    $(this).addClass('activeTab');
    $("#tabContent5").show();
    $("#tabContent1, #tabContent2, #tabContent3, #tabContent4, #tabContent6, #tabContent7").hide();
  });

  $('a[name="#tabContent6"]').click(function () {
    $("#tab1, #tab2, #tab3, #tab4, #tab5, #tab7").removeClass('activeTab');
    $(this).addClass('activeTab');
    $("#tabContent6").show();
    $("#tabContent1, #tabContent2, #tabContent3, #tabContent4, #tabContent5, #tabContent7").hide();
  });

  $('a[name="#tabContent7"]').click(function () {
    $("#tab1, #tab2, #tab3, #tab4, #tab5, #tab6, #tab7").removeClass('activeTab');
    $(this).addClass('activeTab');
    $("#tabContent7").show();
    $("#tabContent1, #tabContent2, #tabContent3, #tabContent4, #tabContent5, #tabContent6").hide();
  });

ヒント:

  $(function () {
    $(document).tooltip();  //shows title attribute as a tooltip
  });

ウィンドウからマウスを出して (Chrome のアドレス バーなど)、マウスをタブに合わせるとエラーが発生しますが、マウスがページ内に留まり、マウスがタブの上にある場合、エラーは発生しません。いくつかの助けを借りて、これは tooptip 関数の問題に絞り込まれました。

4

1 に答える 1

1

ここでテストケースを作成しました:

http://jsfiddle.net/3MxL2/1/

$("a").tooltip();

jqueryツールのツールチッププラグインに問題があるようです。ドキュメントオブジェクトにバインドできません。一般的な「a」タグを使用してバインドしてみてください。機能するはずです。まだいくつかのスタイリングエラーがありますが、当面の問題は修正されるはずです。

于 2013-02-27T18:33:05.267 に答える