简体   繁体   English

如何使消息出现并在一段时间后消失?

[英]How do I make a message appear and then disappear after a while?

I'm having a problem with an issue with a feature on a website.我遇到了网站上某项功能的问题。 Basically, I want a message to appear two seconds after clicking and disappear two seconds later on the screen.基本上,我希望一条消息在点击后两秒出现,两秒后在屏幕上消失。

 function messagePT () { let messagePortuguese = "<p id='invisivel' class='site-content'>O site é recente e continua em construção. As nossas desculpas por quaisquer problemas encontrados.</p>"; document.getElementById("flag-pt").innerHTML = messagePortuguese; setTimeout(() => { let elem = document.querySelector('#invisivel'); elem.parentNode.removeChild(elem); }, 2000); } function messageEN () { let messageEnglish = "<p id='invisivel' class='site-content'>The site is still quite new and remains under construction. Our apologies for any problems encountered.</p>"; document.getElementById("flag-pt").innerHTML = messageEnglish; setTimeout(() => { let elem = document.querySelector('#invisivel'); elem.parentNode.removeChild(elem); }, 2000); }
 <ul class="intro-lang-menu" id="success-btn"> <li><a href="/intro" class="intro-lang-pt" onclick="messagePT();"><img class="anim-quick anim-scale-30" src="<?php echo get_template_directory_uri(); ?>/assets/img/ico-flag-pt.png"></a></li> <li><a href="en/intro" class="intro-lang-en" onclick="messageEN();"><img class="anim-quick anim-scale-30" src="<?php echo get_template_directory_uri(); ?>/assets/img/ico-flag-en.png"></a></li> </ul> <div id="flag-pt" class="site-content"> </div>

Currently the code looks like this, anyone know how to solve this problem?目前代码看起来是这样的,有人知道如何解决这个问题吗?

I tried to put a setTimeOut function inside another one, but it didn't work.我试图将 setTimeOut function 放入另一个中,但没有用。

The issue I see is that when you click on the image you're doing a page redirect because of href="/intro" or href="en/intro" .我看到的问题是,当您单击图像时,您正在执行页面重定向,因为href="/intro"href="en/intro" To prevent the navigation, you can use the event object to call event.preventDefault() , however I assume you want to still navigate to the click, so we may need more details as to what you're trying to do.为防止导航,您可以使用事件 object 来调用event.preventDefault() ,但我假设您仍想导航到点击,因此我们可能需要有关您尝试执行的操作的更多详细信息。

Here's an example of event.preventDefault() :这是event.preventDefault()的示例:

 function messagePT (event) { event.preventDefault(); let messagePortuguese = "<p id='invisivel' class='site-content'>O site é recente e continua em construção. As nossas desculpas por quaisquer problemas encontrados.</p>"; document.getElementById("flag-pt").innerHTML = messagePortuguese; setTimeout(() => { let elem = document.querySelector('#invisivel'); elem.parentNode.removeChild(elem); }, 2000); } function messageEN (event) { event.preventDefault(); let messageEnglish = "<p id='invisivel' class='site-content'>The site is still quite new and remains under construction. Our apologies for any problems encountered.</p>"; document.getElementById("flag-pt").innerHTML = messageEnglish; setTimeout(() => { let elem = document.querySelector('#invisivel'); elem.parentNode.removeChild(elem); }, 2000); }
 <ul class="intro-lang-menu" id="success-btn"> <li><a href="/intro" class="intro-lang-pt" onclick="messagePT(event);"><img class="anim-quick anim-scale-30" src="<?php echo get_template_directory_uri(); ?>/assets/img/ico-flag-pt.png"></a></li> <li><a href="en/intro" class="intro-lang-en" onclick="messageEN(event);"><img class="anim-quick anim-scale-30" src="<?php echo get_template_directory_uri(); ?>/assets/img/ico-flag-en.png"></a></li> </ul> <div id="flag-pt" class="site-content"> </div>

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

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