1

ホバリングされている一番上の要素の概要を説明しようとしています。

    $(function()
    {
      var ElementSelector = null;
      var SelectedElement = null;

      $("*:not(div#ElementSelector)").hover
      (
        function()
        {
          SelectedElement = ($(this).length > 1 ? $(this).find("*:last") : $(this));
          if(ElementSelector != null)
          {
            ElementSelector.css("width", SelectedElement.width()).css("height", SelectedElement.height())
              .css("left", SelectedElement.offset().left).css("top", SelectedElement.offset().top)
              .css("marginTop", SelectedElement.css("marginTop")).css("marginLeft", SelectedElement.css("marginLeft"))
              .css("marginRight", SelectedElement.css("marginRight")).css("marginBottom", SelectedElement.css("marginBottom"))
              .css("paddingLeft", SelectedElement.css("paddingLeft")).css("paddingTop", SelectedElement.css("paddingTop"))
              .css("paddingRight", SelectedElement.css("paddingRight")).css("paddingBottom", SelectedElement.css("paddingBottom"));
          }

          SelectedElement.click(function()
          {
            SelectedElement.css("background-color", "green");
          });
        }, 
        function ()
        {
          SelectedElement.unbind("click");
        }
      );

      $("body").append("<div id='ElementSelector' style='width:0px;height:0px;z-index: 100000;position:absolute;border: 2px solid red;padding:0px;margin:0px;margin:0px;'></div>");
      ElementSelector = $("div#ElementSelector");
    });

これは私がこれまでに思いついたことです..しかし、それは多くのバグがあります! アイデアはありますか?

4

2 に答える 2

1

コードですべてのスタイルを指定する代わりに、CSSとjQueryのaddClass、removeClass、toggleClass関数を使用してみませんか?これにより、コードがかなりクリーンアップされ、プレゼンテーションが属する場所(スタイルシート)に配置されます。

于 2009-07-06T20:32:51.407 に答える
1

いつでも.hoverを使用できますか?

コードをクリーンアップし、マークが言ったことを実行して、スタイル シート内にスタイルを配置することを強くお勧めします。jQuery を使用する場合にのみ意味があり、かなり混乱する可能性があります。

最初から正しい方法で行っていれば、コードのテストははるかに簡単になり、開始するためのより良いベースが得られます。実際、「テスト」はおそらく最終製品になるでしょう。

追加全体は意味がありません。jQuery の CSS 関数を使用して設定してみませんか? それが彼らの目的です。

于 2009-07-22T09:28:27.320 に答える