[英]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.