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

你总是可以使用.hover吗?

我强烈建议清理您的代码并按照 Mark 所说的去做并将样式放入样式表中。仅在使用 jQuery 时才有意义,它可能会变得一团糟。

如果您第一次就以正确的方式完成它,那么测试您的代码会容易得多,并且您将有一个更好的基础开始,实际上您的“测试”可能会成为最终产品。

整个附加的东西没有任何意义,你为什么不使用jQuery 的 CSS 函数来设置它呢?这就是他们的目的。

于 2009-07-22T09:28:27.320 回答
1

为什么不使用 CSS 和 jQuery 的 addClass、removeClass 和 toggleClass 函数而不是在代码中指定所有样式?这应该会清理您的代码,并将演示文稿放在它所属的位置 - 在样式表中。

于 2009-07-06T20:32:51.407 回答