2016-02-22 87 views
5

这是代码:code on jsfiddle。在第一次运行时,它不显示“slideDown”动画,但随后的时间工作正常。jquery动画在第一次运行时无法正常工作

$("#more-news") .click(function() { 
    $(".news-hide") .slideDown('slow').removeClass("hide"); 
}); 
+0

不回答你的问题,但jQuery有'slideToggle' - 所以你可以删除一些重复的代码 - http://api.jquery.com/slidetoggle/ –

回答

4

请使用以下内容。

$("#more-news").click(function() { 
    //changed the line below. 
    $(".news-hide").hide().removeClass('hide').slideDown('slow'); 
    $("#less-news").fadeIn('slow').removeClass("hide"); 
    $("#more-news").fadeOut().addClass("hide"); 
}); 

DEMO

3

而是使用多个元件和多种体育赛事,你可以使用这样,

$("#more-news").click(function() { 
    var button = $(this) 
    $(".news-hide").slideToggle(function() { 
    $(".news-hide").is(":visible") ? button.text("Less News") : button.text("More News") 
    }); 
}); 

Fiddle

+0

OP有相反的情况。起初,新的是隐藏的。 – RRK

+0

这不是什么大不了的,OP可以调整代码。看看更新的小提琴。 –

+0

OP代表什么? – Microsmsm

0

自举类躲不相当的工作方式相同作为jQuery隐藏功能的方式,创建一个令人困惑的结果。

要围绕滑动之前jQeuerify你的隐藏thangs,你可以做一点这样的:

$('.hide').hide().removeClass('hide'); 

$("#more-news") .click(function() { 
    $(".news-hide") .slideDown('slow'); 
}); 

现在,您不必在每次你做一些时间去担心该皮革类,但它保持隐藏的东西,直到文档准备好JavaScript本身。