jQuery,JavaScript,在Hover上使用3个元素

时间:2011-11-12 06:52:50

标签: javascript jquery asp.net css ajaxcontroltoolkit

我的问题接近这个问题: jQuery onmouseover + onmouseout / hover on two different divs

但是,我使用3个元素而不是2.我正在做的是隐藏AsyncFileUpload控件(AjaxControlToolkit)并使用<div>重叠FileUpload。 然后我只是将FileUploads不透明度设置为0,但z-index比<div>更高。因此,只有<div>显示,如果用户点击该div,那么他们将点击AsyncFileUpload控件,因为它具有更高的z-index。

无论如何,这里有一些代码:

    <asp:Image ID="myProfilePicture" ClientIDMode="Static" runat="server" />
    <div id="pic_tools">
        <ajaxToolkit:AsyncFileUpload ID="ImageUpload" CssClass="myProfileUpload" OnClientUploadStarted="ClientUploadStarted"
            OnClientUploadComplete="ClientUploadComplete" OnUploadedComplete="ImageUpload_UploadedComplete"
            Width="216px" runat="server" />
            <div class="FakeUploader">Click me to upload</div>
    </div>

        $(function () {
            $('#myProfilePicture, #myProfileUpload, .FakeUploader').hover(function () {
                $(".FakeUploader").show();
            }, function () {
                $('.FakeUploader').hide();
            });
        });

一切都按预期工作但鼠标结束时.FakeUploader(实际上它超过#myProfileUpload(实际的asyncfileupload控件)).FakeUpload被隐藏。

注意:两个控件#myProfileUpload和.FakeUpload都有display:none;另外,我正在测试上面的JS代码,没有设置display:none;在#myProfileUpload。

所以我的问题是: 当鼠标进入#myProfilePicture时,如何显示.FakeUpload和#myProfileUpload(opacty:0)。当鼠标结束时仍然显示它们.FakeUpload在#myProfileUpload下。当然,在Mouseout上隐藏它们。

提前致谢。

更新

好吧,如果你最终在这里寻找类似问题的答案。确保你没有像我那样写#myProfileUpload,因为它不存在。我用.myProfileUpload替换它,它按原样运行。

1 个答案:

答案 0 :(得分:0)

好吧,如果你最终在这里寻找类似问题的答案。确保你没有像我那样写#myProfileUpload,因为它不存在。我用.myProfileUpload替换它,它按原样运行。