CSS/JavaScript滑出和滑入
我希望能够滑出一个div(向左),同时滑入另一个div(从右) 我的HTML代码如下所示:CSS/JavaScript滑出和滑入,javascript,html,css,slide,Javascript,Html,Css,Slide,我希望能够滑出一个div(向左),同时滑入另一个div(从右) 我的HTML代码如下所示: <body> <div id="content"> <div id="page1"> <!-- Content Area 1 --> </div> <div id="page2"> <!-- Content Area 1 --
<body>
<div id="content">
<div id="page1">
<!-- Content Area 1 -->
</div>
<div id="page2">
<!-- Content Area 1 -->
</div>
</div>
</body>
function showPage1()
{
document.getElementById("content").setAttribute("class", "")
}
function showPage2()
{
document.getElementById("content").setAttribute("class", "showPage2")
}
在页面之间切换,但我希望过渡尽可能顺利
有没有一种方法可以做到这一点,不用jQuery,最好只使用CSS?如果没有,我如何在jQuery中执行此操作?使用jQuery
内容区1
内容区1
$(文档).ready(函数(){
$('#第1页')。设置动画({
边缘左侧:“+=90”
}, 5000);
$('#第2页')。设置动画({
边缘右侧:“+=90”
}, 5000);
});
使用jQuery编辑的fiddle=>
内容区1
内容区1
$(文档).ready(函数(){
$('#第1页')。设置动画({
边缘左侧:“+=90”
}, 5000);
$('#第2页')。设置动画({
边缘右侧:“+=90”
}, 5000);
});
使用jQuery编辑的fiddle=>
内容区1
内容区1
$(文档).ready(函数(){
$('#第1页')。设置动画({
边缘左侧:“+=90”
}, 5000);
$('#第2页')。设置动画({
边缘右侧:“+=90”
}, 5000);
});
使用jQuery编辑的fiddle=>
内容区1
内容区1
$(文档).ready(函数(){
$('#第1页')。设置动画({
边缘左侧:“+=90”
}, 5000);
$('#第2页')。设置动画({
边缘右侧:“+=90”
}, 5000);
});
编辑的fiddle=>这里有一个(几乎)完整的CSS解决方案:
如果你能更具体地说明你想要什么,我可以很高兴地调整或引导你通过代码来帮助你
它依赖于使用translate3d:
transform: translate3d(-200px, 0, 0);
这里有一个(几乎)完整的CSS解决方案:
如果你能更具体地说明你想要什么,我可以很高兴地调整或引导你通过代码来帮助你
它依赖于使用translate3d:
transform: translate3d(-200px, 0, 0);
这里有一个(几乎)完整的CSS解决方案:
如果你能更具体地说明你想要什么,我可以很高兴地调整或引导你通过代码来帮助你
它依赖于使用translate3d:
transform: translate3d(-200px, 0, 0);
这里有一个(几乎)完整的CSS解决方案:
如果你能更具体地说明你想要什么,我可以很高兴地调整或引导你通过代码来帮助你
它依赖于使用translate3d:
transform: translate3d(-200px, 0, 0);
是的,您可以通过使用
动画关键帧来使用纯css实现
HTML
<div id="content">
<div id="page1" class="page">
<!-- Content Area 1 -->
</div>
<div id="page2" class="page">
<!-- Content Area 1 -->
</div>
</div>
然而这种方法有一个巨大的局限性。CSS无法处理任何真实事件。因此,如果您希望在单击按钮或其他东西时显示此动画,则必须使用JavaScript
演示
已编辑
现在左边的一个同时进入,右边的一个同时退出
更新
使用translate3d
=>的相同示例是的,您可以通过使用动画关键帧来使用纯css实现
HTML
<div id="content">
<div id="page1" class="page">
<!-- Content Area 1 -->
</div>
<div id="page2" class="page">
<!-- Content Area 1 -->
</div>
</div>
然而这种方法有一个巨大的局限性。CSS无法处理任何真实事件。因此,如果您希望在单击按钮或其他东西时显示此动画,则必须使用JavaScript
演示
已编辑
现在左边的一个同时进入,右边的一个同时退出
更新
使用translate3d
=>的相同示例是的,您可以通过使用动画关键帧来使用纯css实现
HTML
<div id="content">
<div id="page1" class="page">
<!-- Content Area 1 -->
</div>
<div id="page2" class="page">
<!-- Content Area 1 -->
</div>
</div>
然而这种方法有一个巨大的局限性。CSS无法处理任何真实事件。因此,如果您希望在单击按钮或其他东西时显示此动画,则必须使用JavaScript
演示
已编辑
现在左边的一个同时进入,右边的一个同时退出
更新
使用translate3d
=>的相同示例是的,您可以通过使用动画关键帧来使用纯css实现
HTML
<div id="content">
<div id="page1" class="page">
<!-- Content Area 1 -->
</div>
<div id="page2" class="page">
<!-- Content Area 1 -->
</div>
</div>
然而这种方法有一个巨大的局限性。CSS无法处理任何真实事件。因此,如果您希望在单击按钮或其他东西时显示此动画,则必须使用JavaScript
演示
已编辑
现在左边的一个同时进入,右边的一个同时退出
更新
使用translate3d
=>的相同示例在没有jQuery的情况下非常可能,只使用CSS和CSS转换
您可以设置CSS,以便在
没有类.showPage2
时显示第1页。如果有.showPage2
,则显示第2页
然后,只有通过使用(本机)Javascript切换类才能触发转换。动画由CSS转换处理。这意味着,如果通过任何更改,浏览器不支持CSS3转换,用户仍将看到正确的页面;只是不需要花哨的过渡。CSS3转换通常非常平滑
这就是CSS的外观:
#content
{
position: relative;
overflow: hidden;
}
#content #page1
{
position: absolute;
left: 0%;
width: 100%;
height: 100%;
transition: left .5s ease-out;
-webkit-transition: left .5s ease-out;
}
#content #page2
{
position: absolute;
left: 100%;
width: 100%;
height: 100%;
transition: left .5s ease-out;
-webkit-transition: left .5s ease-out;
}
#content.showPage2 #page1
{
left: -100%;
}
#content.showPage2 #page2
{
left: 0%;
}
Javascript可能看起来像这样:
<body>
<div id="content">
<div id="page1">
<!-- Content Area 1 -->
</div>
<div id="page2">
<!-- Content Area 1 -->
</div>
</div>
</body>
function showPage1()
{
document.getElementById("content").setAttribute("class", "")
}
function showPage2()
{
document.getElementById("content").setAttribute("class", "showPage2")
}
我希望这能满足您的需要。如果不使用jQuery,只使用CSS和CSS转换,这是非常可能的
您可以设置CSS,以便在
没有类.showPage2
时显示第1页。如果有.showPage2
,则显示第2页
然后,只有通过使用(本机)Javascript切换类才能触发转换。动画由CSS转换处理。这意味着,如果通过任何更改,浏览器不支持CSS3转换,用户仍将看到正确的页面;只是不需要花哨的过渡。CSS3转运蛋白