简体   繁体   English

仅在单击按钮时显示班级

[英]display a class only when button is clicked

I have a class popup which have two buttons and a wording do you love css, which get displayed when window loads. 我有一个类弹出窗口 ,其中有两个按钮和一个您喜欢CSS的措辞,当窗口加载时会显示该CSS。

I have another button displaypopup . 我还有另一个按钮displaypopup

Im trying to hide class popup and only display when button displaypopup is clicked. Im trying to hide class popup and only display when button is clicked. Im trying to hide class popup and only display when button displaypopup Im trying to hide class popup and only display when button is clicked.

I created a button displaypopup and given an onclick function displaypop(). 我创建了一个按钮displaypopup,并提供了onclick函数displaypop()。

How to hide the class popup initially when window loads and display only when button displaypop is clicked> 如何在窗口加载时最初隐藏类弹出窗口,并仅在单击按钮displaypop时显示

 function displaypopup() { } 
 body { background-image:url(18-thursday0044.gif); } p { font-size: 120%; margin-bottom: 15px; } .popup { background: #fff; background: -webkit-linear-gradient(top, #fff, #ddd); background: -moz-linear-gradient(top, #fff, #ddd); background: -ms-linear-gradient(top, #fff, #ddd); background: -o-linear-gradient(top, #fff, #ddd); background: linear-gradient(to bottom, #fff, #ddd); margin: 0 auto; top: 60vh; left: 72vw; width: 80vw; height: 30vh; text-align: center; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; -moz-box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; } a.button { margin: 0 1px; padding-top:80%; padding: 6px 50px 5px; font-weight: bold; font-size: 100%; color: #fff; text-align: center; border: none; border-right: 1px solid rgba(0,0,0,.2); border-bottom: 1px solid rgba(0,0,0,.2); background: #3d7cb1; background: -webkit-linear-gradient(top, #2cb0e5, #1a7cd3); background: -moz-linear-gradient(top, #2cb0e5, #1a7cd3); background: -ms-linear-gradient(top, #2cb0e5, #1a7cd3); background: -o-linear-gradient(top, #2cb0e5, #1a7cd3); background: linear-gradient(to bottom, #2cb0e5, #1a7cd3); text-shadow: rgba(0,0,0,.25) 1px 1px 1px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border-radius: 13px; text-decoration: none; } a.button:hover { background: #1e80bc; background: -webkit-linear-gradient(top, #26a0cd, #1661ab); background: -moz-linear-gradient(top, #26a0cd, #1661ab); background: -ms-linear-gradient(top, #26a0cd, #1661ab); background: -o-linear-gradient(top, #26a0cd, #1661ab); background: linear-gradient(to bottom, #26a0cd, #1661ab); } a.button:active { background: #1e80bc; } span.heart { color: #c70000; font-size: 118%; } 
 <div class="popup"> <p>Do you <span class="heart">♥</span> CSS ?</p> <a class="button" href="javascript:void(0);">No</a> <a class="button" href="javascript:void(0);">Yes</a> </div> <button onclick="displaypopup">displaypopup</button> 

here is what you need: 这是您需要的:

<div class="popup" style="display: none;">
<p>Do you <span class="heart">♥</span> CSS ?</p>
<a class="button" href="javascript:void(0);">No</a>
<a class="button" href="javascript:void(0);">Yes</a>
</div>

add display: none; 添加显示:无; here, and: 在这里和:

 function displaypopup()
{
    var popup = document.querySelector('.popup');
     popup.style.display = 'block';
}

add this function, also in button you need to correct function initialization: 添加此功能,同样在按钮中您需要更正功能初始化:

<button onclick="displaypopup();">displaypopup</button>

You could do this by not adding the class to your div initially. 您可以通过最初不将类添加到div中来实现。 Instead add an eventListener to your button and then on click of the button add the class attribute to the div. 而是将eventListener添加到您的按钮,然后单击按钮将class属性添加到div。

Here's a working example. 这是一个工作示例。

 let btn = document.getElementById( "btn1" ).addEventListener( "click", function(){ let yourDiv = document.getElementById( "test" ); yourDiv.setAttribute( "class", "popup" ); }); 
 body { background-image:url(18-thursday0044.gif); } p { font-size: 120%; margin-bottom: 15px; } .popup { background: #fff; background: -webkit-linear-gradient(top, #fff, #ddd); background: -moz-linear-gradient(top, #fff, #ddd); background: -ms-linear-gradient(top, #fff, #ddd); background: -o-linear-gradient(top, #fff, #ddd); background: linear-gradient(to bottom, #fff, #ddd); margin: 0 auto; top: 60vh; left: 72vw; width: 80vw; height: 30vh; text-align: center; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; -moz-box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; } a.button { margin: 0 1px; padding-top:80%; padding: 6px 50px 5px; font-weight: bold; font-size: 100%; color: #fff; text-align: center; border: none; border-right: 1px solid rgba(0,0,0,.2); border-bottom: 1px solid rgba(0,0,0,.2); background: #3d7cb1; background: -webkit-linear-gradient(top, #2cb0e5, #1a7cd3); background: -moz-linear-gradient(top, #2cb0e5, #1a7cd3); background: -ms-linear-gradient(top, #2cb0e5, #1a7cd3); background: -o-linear-gradient(top, #2cb0e5, #1a7cd3); background: linear-gradient(to bottom, #2cb0e5, #1a7cd3); text-shadow: rgba(0,0,0,.25) 1px 1px 1px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border-radius: 13px; text-decoration: none; } a.button:hover { background: #1e80bc; background: -webkit-linear-gradient(top, #26a0cd, #1661ab); background: -moz-linear-gradient(top, #26a0cd, #1661ab); background: -ms-linear-gradient(top, #26a0cd, #1661ab); background: -o-linear-gradient(top, #26a0cd, #1661ab); background: linear-gradient(to bottom, #26a0cd, #1661ab); } a.button:active { background: #1e80bc; } span.heart { color: #c70000; font-size: 118%; } 
 <div id="test" > <p>Do you <span class="heart">♥</span> CSS ?</p> <a class="button" href="javascript:void(0);">No</a> <a class="button" href="javascript:void(0);">Yes</a> </div> <button id="btn1">displaypopup</button> 

So what you do is hide the popup initially using a hide css class with display none and on clicking the button remove the hide class from your popup and i have also written the code to add it back again in comments. 因此,您要做的是首先使用一个不显示任何内容的hide css类来隐藏弹出窗口,然后单击按钮从弹出窗口中删除hide类,我还编写了代码以再次将其添加回注释中。

 function displaypopup() { document.getElementById('cssPopup').classList.remove('hide'); //to add the class again //document.getElementById('cssPopup').classList.add('hide'); } 
 body { background-image:url(18-thursday0044.gif); } p { font-size: 120%; margin-bottom: 15px; } .popup { background: #fff; background: -webkit-linear-gradient(top, #fff, #ddd); background: -moz-linear-gradient(top, #fff, #ddd); background: -ms-linear-gradient(top, #fff, #ddd); background: -o-linear-gradient(top, #fff, #ddd); background: linear-gradient(to bottom, #fff, #ddd); margin: 0 auto; top: 60vh; left: 72vw; width: 80vw; height: 30vh; text-align: center; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; -moz-box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; box-shadow: rgba(0,0,0,0.2) 0px 1px 3px; } a.button { margin: 0 1px; padding-top:80%; padding: 6px 50px 5px; font-weight: bold; font-size: 100%; color: #fff; text-align: center; border: none; border-right: 1px solid rgba(0,0,0,.2); border-bottom: 1px solid rgba(0,0,0,.2); background: #3d7cb1; background: -webkit-linear-gradient(top, #2cb0e5, #1a7cd3); background: -moz-linear-gradient(top, #2cb0e5, #1a7cd3); background: -ms-linear-gradient(top, #2cb0e5, #1a7cd3); background: -o-linear-gradient(top, #2cb0e5, #1a7cd3); background: linear-gradient(to bottom, #2cb0e5, #1a7cd3); text-shadow: rgba(0,0,0,.25) 1px 1px 1px; -webkit-border-radius: 13px; -moz-border-radius: 13px; border-radius: 13px; text-decoration: none; } a.button:hover { background: #1e80bc; background: -webkit-linear-gradient(top, #26a0cd, #1661ab); background: -moz-linear-gradient(top, #26a0cd, #1661ab); background: -ms-linear-gradient(top, #26a0cd, #1661ab); background: -o-linear-gradient(top, #26a0cd, #1661ab); background: linear-gradient(to bottom, #26a0cd, #1661ab); } a.button:active { background: #1e80bc; } span.heart { color: #c70000; font-size: 118%; } .hide { display:none; } 
 <div class="popup hide" id="cssPopup"> <p>Do you <span class="heart">♥</span> CSS ?</p> <a class="button" href="javascript:void(0);">No</a> <a class="button" href="javascript:void(0);">Yes</a> </div> <button onclick="displaypopup()">displaypopup</button> 

Add visibility: hidden; 添加可见性:隐藏; or display: none; 或显示:无; in your css for the class you want to hide. 在您要隐藏的类的CSS中。 Then make the style display: block; 然后显示样式: in your JavaScript for the popup class to make the popup visible. 在您的JavaScript中,使popup类使弹出窗口可见。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM