我有一个动态生成的div,它不在加载时。它将在文档中生成。那么我如何在特定时间之后将该目标作为目标并隐藏它。 div如下:
<div class="message-sent">Your Message has been sent</div>
重要提示:我引用了很多文章,但每个人都在谈论'onclick'。我不想要点击事件。我只想隐藏这个div,当它出现在docuemnt中时。提前谢谢!
答案 0 :(得分:0)
您应该尝试查看setTimeout函数。
此外,如果该div是具有该类的DOM树的唯一成员,则使用ID。这是更好的IMO。
无论如何,假设你想要隐藏private boolean initSTT() {
// initialize the connection to the Watson STT service
String username = getString(R.string.STTdefaultUsername);
String password = getString(R.string.STTdefaultPassword);
String tokenFactoryURL = getString(R.string.STTdefaultTokenFactory);
String serviceURL = "wss://stream.watsonplatform.net/speech-to-text/api";
SpeechConfiguration sConfig = new SpeechConfiguration(SpeechConfiguration.AUDIO_FORMAT_OGGOPUS);
SpeechToText.sharedInstance().initWithContext(this.getHost(serviceURL), getActivity().getApplicationContext(), sConfig);
// Basic Authentication
SpeechToText.sharedInstance().setCredentials(username, password);
SpeechToText.sharedInstance().setModel(getString(R.string.modelDefault));
SpeechToText.sharedInstance().setDelegate(this);
return true;
}
类的每个成员,
它是这样的:
message-sent
其中setTimeout(function(){
$('.message-sent').hide();
}, 2000)
是指示时间(毫秒)的变量
答案 1 :(得分:0)
你可以在超时后(3000ms)添加样式:
setTimeout(function(){
document.getElementsByClassName("message-sent")[0].style.display="none";
}, 3000);
注意:如果您使用id而不是类来识别div,则会更好。
答案 2 :(得分:0)
您可以尝试DOMNodeInserted
,
$(document).bind('DOMNodeInserted', function(event) {
var element = document.getElementsByClassName("message-sent"); // get all elements with class message-sent
var lastchild = element[element.length - 1]; // get the last one (others are hidden)
if(lastchild != null){
lastchild.style.visibility = 'hidden'; // set visibility to hidden
}
});
工作demo
希望有所帮助,