【发布时间】:2009-07-06 20:28:01
【问题描述】:
我正在尝试勾勒悬停的顶部元素。
$(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");
});
这是我到目前为止想出的.. 但它有很多错误!那么有什么想法吗?
【问题讨论】:
-
“它有很多错误”是什么意思?上面的代码有效吗?您可以尝试在 jsbin.com 上发布示例吗?
-
你能澄清一下吗? “它有很多错误”是什么意思?
-
很抱歉没有太清楚“什么错误”。我们会选择选择器,但有时它会卡住。而其他时候,尺寸不会相加。你可以在这里看到它的实际效果:jsbin.com/arexi
-
我最近有一种强烈的感觉,不愿意调试自己的代码的人希望他们在这里复制过去后由其他人来完成。
-
来吧,这只是低。我不只是复制粘贴的代码。我已经要求别人看看它。因为我已经用谷歌搜索、调试、测试并盯着它看了几个小时,但没有找到任何东西。像这样的论坛通常是我最后的选择。我不希望有一些便宜的代码,我希望有人说,嘿,你刚刚错过了这个。或这个”。或者,这不是计算正确尺寸的方法,请改用此方法。这就是我所追求的。所以,请为别人省气。