首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果元素的opacity=1不工作

如果元素的opacity=1不工作
EN

Stack Overflow用户
提问于 2014-11-19 09:10:56
回答 2查看 1.8K关注 0票数 4

我有一段代码不起作用,我只是不知道为什么。以下是简化的代码:

HTML:

代码语言:javascript
复制
<div id="objInfo">
    <div id="button"></div>
    <img src="img/x.png" class="obj_x">
</div>

CSS:

代码语言:javascript
复制
#objInfo { opacity: 0; display: none }

JAVASCRIPT:

代码语言:javascript
复制
if ($('#objInfo').css('opacity') != "1")
{
    $("#button").click(function(){
        $("#objInfo").css("display", "block");
        $("#objInfo").animate({opacity: 1, top: "-25px"});
    });
}
else
{
     $(".obj_x").click(function(){
        $("#objInfo").css("display", "none");
        $("#objInfo").animate({opacity: 0, top: "+25px"});
    });

}

因此,基本上,我希望有一个弹出窗口(#objInfo),当点击#按钮时出现,当单击.obj_x时消失。而且,当我点击它的外部时,我希望#objInfo消失。(我没有把它添加到代码中,因为没有必要添加。一旦if语句生效,这将是需要解决的最小问题。这就是我需要该语句的原因) if语句就在那里,以检查是否显示该框,当它显示时,我希望能够使用专用的obj_x按钮或单击框外的按钮将其关闭。

我希望我能给你们解释清楚。这是我的第一篇帖子所以请温柔点..。我们将非常感谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-19 09:34:41

我想要一个弹出窗口(#objInfo),当点击#按钮时出现,单击.obj_x时消失。

以下代码应该有效:

HTML

代码语言:javascript
复制
<div id="objInfo">
  <div class="obj_x">BLABLA</div>
</div>

<button id="show">Show</button>

CSS

代码语言:javascript
复制
#objInfo { display: none }

JS

代码语言:javascript
复制
function hideBlock(){

    $("#objInfo").css('display','none')
    $("#show").css('display','inline-block')

    $(document).mousedown(function(){ return false;})
}

function displayBlock(){

    $("#objInfo").css('display','block')
    $("#show").css('display','none')

    $(document).mousedown( hideBlock )
}


$("#show").click( displayBlock )
$(".obj_x").click( hideBlock )

http://jsfiddle.net/rpdmwqo8/1/

票数 0
EN

Stack Overflow用户

发布于 2014-11-19 11:25:39

希望这就是你要找的

HTML

代码语言:javascript
复制
<button type="submit" id="btn">PopUp</button>
<div class="overlay"></div>
<div class="popUp">
    <p>
        It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
    </p>
    <span class="popUp-close" title="Close"></span>
</div>

CSS

代码语言:javascript
复制
.overlay {
    background: rgba(0, 0, 0, 0.5);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 6;
}
.popUp {
    background: #e9f1f4;
    border: 1px solid #e1e2e4;
    display: none;
    left: 50%;
    width: 550px;
    padding: 30px;
    position: fixed;
    top: 50%;
    z-index: 7;
}
.popUp-close {
    cursor: pointer;
    position: absolute;
    top: -13px;
    right: -13px;
    height: 26px;
    width: 26px;
    /*background: url("../images/close-btn.png") no-repeat;*/
    background: #ccc;
}

JavaScript

代码语言:javascript
复制
//PopUp Script Starts
function pop(action) {

    if (action === 'reset') {
        // Reset popup code.
        var $width = $('.popUp').outerWidth(),
            $height = $('.popUp').outerHeight();

        $('.popUp').css({
            'margin-top': -$height / 2,
            'margin-left': -$width / 2
        });
    }
    if (action === 'show') {
        // Open popup code.
        //$('.wrapper').append('<div class="overlay white"></div><div class="popUp"><div></div><span class="popup-close"></span></div>');
        pop('reset');
        $('.overlay, .popUp').fadeIn(500);
    }

    if (action === 'hide') {
        // Close popup code.
        $('.overlay, .popUp').fadeOut(500, function() {
            $(this).hide();
        });
    }
};

var keyDown; // on escape
window.onkeydown = function() {
    keyDown = true;
};

window.onkeyup = function(e) {
    if (e.keyCode === 27 && keyDown) {
        pop('hide');
        keyDown = false;
    }
};

$(document).on('click', '.popUp-close, .overlay', function() {
    pop('hide');
});
$(document).on('click', '#btn', function() {
    pop('show');
});
//PopUp Script Ends
</script>

http://jsfiddle.net/bogd4px8/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27012845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档