这里我调用JavaScript函数将文本和图像附加到div,现在我想在2秒后隐藏。我怎么能这样做?
代码:
function showdiv(city, imagesrc, timeout) {
window.setTimeout(function() {
document.getElementById('city-order').innerHTML = "";
document.getElementById('order-product').innerHTML = "";
document.getElementById('product-list-display').style.display = "block";
var order_placed_city = document.getElementById('city-order');
var content = document.createTextNode(city);
order_placed_city.appendChild(content);
var product_order = document.getElementById('order-product');
var elem = document.createElement("img");
product_order.appendChild(elem);
elem.src = imagesrc;
},timeout);
document.getElementById('product-list-display').style.display = "none";
}
答案 0 :(得分:2)
目前看到执行以下操作的代码:
on showDiv()
:
#product-list-display
timeout
之后 - ms附加一些内容您可以在定时函数末尾添加另一个window.setTimeout
来隐藏div。
function showdiv(city, imagesrc, timeout) {
window.setTimeout(function() {
/* ... */
// You could add it here
window.setTimeout(hideDiv)
},timeout);
/* ... */
}
然后添加另一个函数:
function hideDiv() {
// Your hiding code here
}
我建议你看看像jQuery这样的框架。这样可以提高可读性并降低其复杂性。 https://jquery.com
答案 1 :(得分:1)
这样的事情可能就是你在寻找什么?
function showdiv(city, imagesrc, timeout) {
// Show div
document.getElementById('city-order').innerHTML = "";
document.getElementById('order-product').innerHTML = "";
document.getElementById('product-list-display').style.display = "block";
var order_placed_city = document.getElementById('city-order');
var content = document.createTextNode(city);
order_placed_city.appendChild(content);
var product_order = document.getElementById('order-product');
var elem = document.createElement("img");
product_order.appendChild(elem);
elem.src = imagesrc;
// Hide div after n milliseconds
setTimeout(function() {
document.getElementById('product-list-display').style.display = "none";
}, timeout);
}
答案 2 :(得分:1)
如果您只想隐藏元素,请使用display:hidden;如果您希望它完全消失,则显示none:
function hideDiv(elementID,timeout) {
window.setTimeout(function() {
document.getElementById(elementID).style.display = "none";
},timeout);
}