Javascript 如何在页面加载时使用fadeIn元素而不是“fadeIn”;出现;?

Javascript 如何在页面加载时使用fadeIn元素而不是“fadeIn”;出现;?,javascript,jquery,Javascript,Jquery,我是jquery上的一个超级高手,我需要弄清楚如何更改此代码: $('.social li').appear(); $(document.body).on('appear', '.social li', function(e, $affected) { var fadeDelayAttr; var fadeDelay; $(this).each(function(){ if ($(this).data("delay")) { f

我是jquery上的一个超级高手,我需要弄清楚如何更改此代码:

$('.social li').appear();
$(document.body).on('appear', '.social li', function(e, $affected) {
    var fadeDelayAttr;
    var fadeDelay;
    $(this).each(function(){


        if ($(this).data("delay")) {
            fadeDelayAttr = $(this).data("delay")
            fadeDelay = fadeDelayAttr;              
        } else {
            fadeDelay = 0;
        }           
        $(this).delay(fadeDelay).queue(function(){
            $(this).addClass('animated').clearQueue();
        });         
    })          
});

为了让它在有人进入登录页时立即启动动画,现在它在IE10和IE11之外的所有东西上都能正常工作,被告知在默认情况下将其更改为加载,而不是“出现”,但我尝试了文档准备/加载,但无法使其工作…

您可以尝试将所有列表项淡入视图,每一个都有一个250毫秒的进程延迟:

$(window).load(function() {
   $('.social li').hide().each(function(i) {
      $(this).delay((i + 1) * 250).fadeIn(2000);
   });
});
编辑

使用与前面代码相同的逻辑进行重构,使用
window.load
方法,因为加载事件在文档加载过程结束时触发。此时,文档中的所有对象都在DOM中,所有图像和子帧等都已完成加载。因此,使用此事件可以在动画中将列表项淡入视图,在视图中它们的初始状态将被隐藏

您声明了两个变量
fadeDelayAttr
fadeDelay
,但我注意到只有
fadeDelay
正在使用,因此可以丢弃
fadeDelayAttr
。此外,本部分代码:

   if ($(this).data("delay")) {
        fadeDelayAttr = $(this).data("delay")
        fadeDelay = fadeDelayAttr;              
    } else {
        fadeDelay = 0;
    }   
可以使用逻辑
或(| |)
将其简化为空合并运算符:

由于fadeDelay变量从data delay属性获取其值,因此可以将其作为delay方法的参数传入,最后重构代码如下所示:

$(window).load(function() {
    $('.social li').hide().each(function() {
        var fadeDelay = $(this).data("delay") || 0; 
        $(this).delay(fadeDelay).fadeIn(2000);
   });
});

你能给我一个jsfiddle吗这是jsfiddle,希望它能更清楚我很抱歉,我太笨了,不能这么做,如何编辑我发布的脚本或者在哪里添加你的脚本,然后我应该删除我的脚本吗?
$(window).load(function() {
    $('.social li').hide().each(function() {
        var fadeDelay = $(this).data("delay") || 0; 
        $(this).delay(fadeDelay).fadeIn(2000);
   });
});