Javascript Can';在不破坏脚本的情况下隐藏按钮
我试图隐藏所有文本并在点击按钮时显示覆盖,然后在点击屏幕上的任何位置时可以添加文本并删除覆盖 出于某种原因,它与h1和p元素一起工作,但添加button元素时,它会中断 这项工作:Javascript Can';在不破坏脚本的情况下隐藏按钮,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图隐藏所有文本并在点击按钮时显示覆盖,然后在点击屏幕上的任何位置时可以添加文本并删除覆盖 出于某种原因,它与h1和p元素一起工作,但添加button元素时,它会中断 这项工作: <div class="row"> <div class="col-12"> <h1 class="contact-title">Portland Based</h1> </div> <div class="co
<div class="row">
<div class="col-12">
<h1 class="contact-title">Portland Based</h1>
</div>
<div class="col-12 text-center">
<button type="button" href="#" class="btn btn-outline-warning letsTalk hidden-xs-down" id="contact">Let's talk</button>
<p>this works too</p>
<button type="button" href="#" class="btn btn-warning letsTalk hidden-sm-up">Let's talk</button>
</div>
</div>
#overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
z-index: 10000;
display: block;
}
$("#contact").on('click', function (e) {
if (!$('#overlay').length) {
$('body').append('<div id="overlay"> </div>');
$('h1').hide();
$('p').hide();
}
}).keyup(function (e) {
if (e.which == 27) {
$('#overlay').remove();
$('h1').show();
$('p').show();
}
}).blur(function (e) {
$('#overlay').remove();
$('h1').show();
$('p').show();
});
$('body').click(function (e) {
if (!$(e.target).is('#contact')) {
$('#overlay').remove();
$('h1').show();
$('p').show();
}
})
波特兰的
让我们谈谈
这也行
让我们谈谈
#覆盖层{
位置:固定;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景色:#000;
过滤器:α(不透明度=50);
-moz不透明度:0.5;
-khtml不透明度:0.5;
不透明度:0.5;
z指数:10000;
显示:块;
}
$(“#联系人”)。在('click',函数(e){
如果(!$('#叠加')。长度){
$('body')。追加('');
$('h1').hide();
$('p').hide();
}
}).keyup(功能(e){
如果(e.which==27){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
}
}).blur(函数(e){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
});
$('body')。单击(函数(e){
如果(!$(e.target).is(“#联系”)){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
}
})
这并不是:
$("#contact").on('click', function (e) {
if (!$('#overlay').length) {
$('body').append('<div id="overlay"> </div>');
$('h1').hide();
$('p').hide();
$('button').hide();
}
}).keyup(function (e) {
if (e.which == 27) {
$('#overlay').remove();
$('h1').show();
$('p').show();
$('button').show();
}
}).blur(function (e) {
$('#overlay').remove();
$('h1').show();
$('p').show();
$('button').show();
});
$('body').click(function (e) {
if (!$(e.target).is('#contact')) {
$('#overlay').remove();
$('h1').show();
$('p').show();
$('button').show();
}
})
$(“#联系人”)。在('click',函数(e){
如果(!$('#叠加')。长度){
$('body')。追加('');
$('h1').hide();
$('p').hide();
$('button').hide();
}
}).keyup(功能(e){
如果(e.which==27){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
$('button').show();
}
}).blur(函数(e){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
$('button').show();
});
$('body')。单击(函数(e){
如果(!$(e.target).is(“#联系”)){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
$('button').show();
}
})
任何帮助都会很好!代码笔
$(“#联系人”)。在('click blur keyup',函数(e){
if($('#overlay')。长度==0){
$('body')。追加('');
$('h1').hide();
$('p').hide();
$('button').hide();
}
如果(e.which==27){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
$('button').show();
}
});
$('body')。单击(函数(e){
如果(!$(e.target).is(“#联系”)){
$(“#覆盖”).remove();
$('h1').show();
$('p').show();
$('button').show();
}
});代码>
#覆盖{
位置:固定;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景色:#000;
过滤器:α(不透明度=50);
-moz不透明度:0.5;
-khtml不透明度:0.5;
不透明度:0.5;
z指数:10000;
显示:块;
}
波特兰的
让我们谈谈
这也行
让我们谈谈
我假设您想隐藏所有元素。如果我的假设是错误的,让我知道
这里有一个快速解决方案。我没有“手动”隐藏和显示内容,而是将其包装在content
div中,并相应地切换opacity
$("#contact").on('click', function (e) {
if (!$('#overlay').length) {
$('body').append('<div id="overlay"> </div>');
$("#content").css({ opacity: "0" });
}
}).keyup(function (e) {
if (e.which == 27) {
$('#overlay').remove();
$('#content').css({ 'opacity': '1' });
}
}).blur(function (e) {
$('#overlay').remove();
$('#content').css({ 'opacity': '1' });
});
$('body').click(function (e) {
if (!$(e.target).is('#contact')) {
$('#overlay').remove();
$('#content').css({ 'opacity': '1' });
}
})
$("#contact").on('click', function (e) {
if (!$('#overlay').length) {
$('body').append('<div id="overlay"> </div>');
$("#content").css({ opacity: "0" });
}
}).keyup(function (e) {
if (e.which == 27) {
$('#overlay').remove();
$('#content').css({ 'opacity': '1' });
}
}).blur(function (e) {
$('#overlay').remove();
$('#content').css({ 'opacity': '1' });
});
$('body').click(function (e) {
if (!$(e.target).is('#contact')) {
$('#overlay').remove();
$('#content').css({ 'opacity': '0' });
}
})
$(“#联系人”)。在('click',函数(e){
如果(!$('#叠加')。长度){
$('body')。追加('');
$(“#内容”).css({opacity:“0”});
}
}).keyup(功能(e){
如果(e.which==27){
$(“#覆盖”).remove();
$('content').css({'opacity':'1'});
}
}).blur(函数(e){
$(“#覆盖”).remove();
$('content').css({'opacity':'1'});
});
$('body')。单击(函数(e){
如果(!$(e.target).is(“#联系”)){
$(“#覆盖”).remove();
$('content').css({'opacity':'1'});
}
})
$(“#联系人”)。在('click',函数(e){
如果(!$('#叠加')。长度){
$('body')。追加('');
$(“#内容”).css({opacity:“0”});
}
}).keyup(功能(e){
如果(e.which==27){
$(“#覆盖”).remove();
$('content').css({'opacity':'1'});
}
}).blur(函数(e){
$(“#覆盖”).remove();
$('content').css({'opacity':'1'});
});
$('body')。单击(函数(e){
如果(!$(e.target).is(“#联系”)){
$(“#覆盖”).remove();
$('content').css({'opacity':'0'});
}
})
您可以使用$('h1,p,buton').show()优化真正的MVP代码>@Milancheda感谢您的优化!谢谢你的解决方案!我已经选择了答案,但我给了你声誉!