10

我正在尝试执行以下操作: - 单击链接会触发一个功能,该功能将显示一个 DIV(#page-cover)使我的整个背景变暗。这个 div 的 z-index 为 999 - 然后我希望另一个 div (#red) 出现在具有更高 z-index 的变暗背景/淡入淡出/显示上

我的 CSS:

#page-cover {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 999;
    top: 0;
    left: 0;
}
    #red {
    background-color: red;
    width: 100px;
    height: 100px;
}

HTML

//Triggering link
<a href="#" onclick="dimBackground("Element1")">Element 1</a>
//Div to appear upon dimmed DIV
<div id="red">hejsa</div>
//Dimming DIV
<div id="page-cover"></div>

jQuery

function dimBackground() {
    $("#page-cover").css("opacity",0.6).fadeIn(300, function () {
        //Attempting to set/make #red appear upon the dimmed DIV
        $('#red').css('zIndex', 10000);
    });
}

page-cover 按预期消失,但是我没有成功让#red 出现。

有什么建议么?

4

1 回答 1

11

CSS

#page-cover {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 999;
    top: 0;
    left: 0;
}
    #red {
    background-color: red;
    width: 100px;
    height: 100px;
}

HTML:

//Triggering link
<a id="triggeringlink" href="#">Element 1</a>
//Div to appear upon dimmed DIV
<div id="red">hejsa</div>
//Dimming DIV
<div id="page-cover"></div>

JS

$(window).load(function(e){
  $('#triggeringlink').on('click',function(e){
     $("#page-cover").css("opacity",0.6).fadeIn(300, function () {            
        $('#red').css({'position':'absolute','z-index':9999});
     });
   e.preventDefault();
   });
});

这是一种略有不同的方法,但我认为这就是您所追求的。当页面加载时,我们将点击事件绑定到<a>标签,而不是内联 JS。我已经更新了 CSS,以便隐藏 RED div,并绝对定位 - 在覆盖层之上。您可能需要在淡入之前拉出屏幕尺寸并将其居中放置,让我知道这是否是您的意图,我会更新答案。

于 2013-02-16T18:55:30.760 回答