jQuery - 淡入由类选择的对象

时间:2012-10-04 20:31:42

标签: javascript jquery

我正在尝试一次选择几个元素并在窗口加载时淡入它们。显而易见的

$('.home').delay(200).fadeIn(400);

没有用,也没有用

$('.home').each(function(){
    $(this).delay(200).fadeIn(400); 
});​

最好的方法是什么?

http://jsfiddle.net/FaqBX/4/

10 个答案:

答案 0 :(得分:5)

你需要在它们消失之前隐藏它们。

答案 1 :(得分:3)

您需要$(window).ready而不是$(window).load而不是document.load。他们需要先隐藏起来:http://jsfiddle.net/f3XhW/

答案 2 :(得分:0)

试试这个:

setTimeout(function () {
    $('.home').fadeIn(400);
}, 200);

答案 3 :(得分:0)

一个肮脏的解决方案是首先隐藏元素,然后使用fadeIn:

$(window).load(function() {
    $('.home').attr('style', 'display: none;');//to hide them
    // First attempt
    $('.home').delay(200).fadeIn(400);
    // Second attempt
    $('.home').each(function(){
        $(this).delay(200).fadeIn(400); 
    });
});

答案 4 :(得分:0)

试试这个,记得你的.home

上有display:none
 $(window).ready(function() {
     $('.home').delay(200).fadeIn(400);
 });​

答案 5 :(得分:0)

在jsFiddle上,您不需要window.load,因为它是默认值。

$('.home').fadeTo(0, 0).delay(1000).fadeTo(400, 1);

演示: http://jsfiddle.net/elclanrs/FaqBX/9/

答案 6 :(得分:0)

试试这个小提琴:

http://jsfiddle.net/FaqBX/7/

你需要先隐藏元素(作为user1689607),然后我把你的小提琴改成没有换行(head),因为它已经是window.load。

答案 7 :(得分:0)

在淡入之前隐藏它们并使用document ready而不是window.load。

$(function() {
    // First attempt
    $('.home').delay(200).fadeIn(400);
});​

http://jsfiddle.net/c7LzQ/

答案 8 :(得分:0)

http://jsfiddle.net/FaqBX/13/

首先在CSS中隐藏:

.home { display: none; } 

如果必须使用延迟:

window.setTimeout(function() {
    $('.home').fadeIn(400);
}, 200);

否则:

 $('.home').fadeIn(400);

答案 9 :(得分:0)

在显示之前用CSS隐藏它。如果它已经可见,你就不能淡入它。

HTML:

<div class="home">
    <h1>Home</h1>
</div>
<div class="home">
    <p>This is the home.</p>
</div>

使用Javascript:

$(function() {
    $('.home').fadeIn(400);
});​

CSS:.home {display:none;}