Here is my fiddle。我想实现“一页全屏”类型的网页。我有两个部分:通过display:block/none;
一次显示一个,每个部分包含内容; .content1, .content2
分别; content div
用作触发另一个部分的按钮。您还可以看到固定的标题。.intro
部分包含.content1
,.archive
部分包含.content2
。
现在,我想在点击时建立以下事件链:(i).content1
逐渐消失,(ii).intro
获得display:none
,.archive
获得display:block
,(iii).content2
逐渐消失。
相反,分别单击.content2
:(i).content2
淡出,(ii).archive
获取display:none
,.intro
增益display:block
,(iii).content1
淡入。
我对CSS有一定的经验,因此我进行并检查了CSS过渡的淡入,淡出效果。到目前为止,一切对我来说都是清楚的。
我的问题是,但是,我不知道如何构建事件链。我在Google上搜索了很多类似的问题,并尝试了一些解决方案,但是没有运气。我对JavaScript的经验很少,因此在尝试实现解决方案的过程中可能会出现一些明显的错误。
我没有在小提琴中附加脚本;我想问一下您是否可以为我指明正确的方向,而不是修改我的代码,因为您知道我不确定应该显示哪种解决方案-到目前为止,它们对我来说都一样无望。
我应该使用JavaScript吗? jQuery的?纯CSS?您可以草绘/编写一些代码来解决问题吗?
您能否查看我想达到的效果的“显示/隐藏部分”的想法?
最佳答案
使用jQuery的fadeIn
和fadeOut
应该没问题:
$(".toarchive").click(function(){
$('.intro').fadeOut();
$(".intro").removeClass("active");
$(".intro").css("display", "none");
$(".archive").fadeIn();
$(".archive").css("display", "block");
$(".archive").addClass("active");
});
但是,如果您担心渐变之间的等待时间,可以使用
setTimeout
:$(".toarchive").click(function(){
$('.intro').fadeOut();
$(".intro").removeClass("active");
$(".intro").css("display", "none");
setTimeout(testThis, 1000);
});
function testThis(){
$(".archive").fadeIn();
$(".archive").css("display", "block");
$(".archive").addClass("active");
}
Try here