对于在css中定义为display:none的元素,我试图运行一个函数,该函数试图使用.show()显示元素,代码如下:
CSS
.element {
position: absolute;
display: none;
left: 0;
top: 0;
}<div class="element">Some content here</div>
<div class="element">Some content here</div>jQuery
var c = $('.element');
c.each(function () {
c.css({
'left': dleft + 'px'
});
c.css({
'top': dtop + 'px'
});
c.setTimeout(function () {
c.show(1000);
}, sduration);所有的变量都被填充了--我已经通过通知所有变量来检查它们,并给出了它们的默认值,但是不知怎么的,元素在超时之后没有显示出来。
发布于 2012-09-11 15:42:27
在您编写的代码中似乎有两个问题。您尚未关闭.each()循环。setTimeout也是一个全局函数。。。查一下这个
var dleft = 40;
var dtop = 40;
var sduration = 1000;
var c = $('.element');
c.each(function() {
c.css({
'left': dleft + 'px',
'top': dtop + 'px'
});
});
setTimeout(function() {
c.show(1000);
}, sduration);检查这个小提琴
发布于 2012-09-11 15:39:00
setTimeout是一个全局函数。
var c = $('.element');
c.each(function () {
c.css({ 'left': dleft + 'px', 'top': dtop + 'px' });
setTimeout(function () {
c.show(1000);
}, sduration);
});发布于 2012-09-11 15:55:07
如果在显示元素时需要延迟,也可以使用jQuery .delay()函数。
c.each(function() {
c.css({
'left': dleft + 'px',
'top': dtop + 'px'
});
});
c.delay(1000).show();https://stackoverflow.com/questions/12373272
复制相似问题