我已经创建了一个容器并将其添加到身体中:
$test = shell_exec("/www/dhcp.sh");
var_dump( explode(' ', $test ) );
现在我想在几秒钟后淡出容器:
// Create container
var container = "<div class='foo'> ... </div>";
// Prepend it to the body
$("body").prepend(container);
然而,它说undefined不是一个函数。我非常确定setTimeout(function() {
container.fadeOut();
}, 3000);
会有效,但我有很多$(".foo").fadeOut()
个容器,我不想为每个容器分配一个单独的ID。
答案 0 :(得分:4)
将container
var指向jq对象而不是字符串:
var container = $('<div class="foo"> ... </div>');
// Prepend it to the body
$("body").prepend(container);
setTimeout(function() {
container.fadeOut();
}, 3000);
现在,container
有一个fadeOut()
方法,而不是一个愚蠢的字符串。
编辑:根据请求,创建部分的香草版本:
var container = document.createElement("div");
container.className="foo";
container.innerHTML= "<b>Hello world</b>";
document.body.insertBefore(container, document.body.firstChild);
vanilla中的fadeOut部分:
<style>
div.foo{ opacity: 1; transition: 1000ms opacity;}
div.foo.fade { opacity: 0; }
</style>
setTimeout(function(){ container.classList.add("fade");}, 3000);
答案 1 :(得分:2)
应该是这样的:
var container = $("<div class=`foo`><h1>Hello World</h1></div>")
$("body").prepend(container);
setTimeout(function() {
container.fadeOut();
}, 3000);
工作代码here
答案 2 :(得分:0)
试试这样:
$(document).ready(function(){
var container = $("<div class='foo'><h1>Something...</h1></div>")
$("body").prepend(container);
setTimeout(function() {
container.fadeOut();
}, 3000);
});
答案 3 :(得分:0)
您正在将一个字符串传递给您的容器&#39;变量。 fadeOut功能仅适用于DOM对象。不是字符串。使用以下命令将字符串转换为DOM对象:
var container = $('Your Code Here');
答案 4 :(得分:-1)
container
是字符串var。容器字符串指示的DOM元素可以像$('div.foo')
一样访问。因此,fadeout
来电将改为 - &gt;
setTimeout(function() {
$('div.foo').fadeOut();
}, 3000);