gpt4 book ai didi

javascript - 制作水平滑动部分?

转载 作者:行者123 更新时间:2023-11-28 08:10:35 27 4
gpt4 key购买 nike

Here正是我正在尝试创建的示例。

我尝试在自己的页面上创建一个类似 3 段的页面。我只想一次显示 1 段,我希望左右箭头分别将我带到上一段和下一段。

我不确定如何一次只显示一个段落(我将它们全部放在一个容器中,我假设我必须对此做些什么),而且我真的不知道该怎么做从水平滑动开始(我假设我需要用 JS 做点什么)。

这是我目前所拥有的:

HTML:

<body>
<div class="slide_container">
<p id="slide1" class="slide">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
<p id="slide2" class="slide">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
<p id="slide3" class="slide">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
<button id="prev">←</button>
<button id="next">→</button>
</div>
</body>

CSS:

@import url(http://fonts.googleapis.com/css?family=Open+Sans);

.slide_container {
width: 960px;
margin: 0 auto;
font-family: 'Open Sans';
}
#prev, #next {
border: none;
padding: 10px 20px;
background-color: #efefef;
color: #c2c2c2;
transition: background .2s ease-in-out;
}
#prev:hover, #next:hover {
background: #dedede;
cursor: pointer;
}
#prev:focus, #next:focus {
outline: none;
}
#prev {
float: left;
margin-left: 400px;
}
#next {
float: right;
margin-right: 400px;
}

JavaScript:

var prev = document.getElementById('prev');
var next = document.getElementById('next');

prev.addEventListener('click', function() {
// Somehow to go to the previous slide
});

next.addEventListener('click', function() {
// Somehow to go to the next slide
});

如有任何帮助,我们将不胜感激!

编辑:Here is the jsfiddle如果有任何帮助。

最佳答案

由于当时有点无聊,所以做了一个纯CSS方案。它与您想要的动画风格不太匹配,因为前一帧没有向左移动,但这只是概念验证。
如果我没记错的话,Firefox 不会设置输入样式,因此您可以为此使用一些额外的元素,请参阅 this question ,例如。

* {
box-sizing: border-box;
}
body,
html {
height: 100%;
margin: 0;
white-space: nowrap;
overflow: hidden;
}
input[type="checkbox"] {
display: none;
z-index: 3;
position: absolute;
right: 0;
top: 50px;
width: 100px;
height: 100px;
}
input[type="checkbox"]:first-of-type {
display: block;
}
input[type="checkbox"]:before {
content: "";
display: block;
width: 100%;
height: 100%;
background: blue;
}
input[type="checkbox"]:checked {
left: 0;
}
input[type="checkbox"]:checked + div + input[type="checkbox"] {
display: block;
}
input[type="checkbox"]:checked:before {
background: red;
}
.frame {
width: 100%;
height: 100%;
position: absolute;
right: -100%;
background: white;
z-index: 2;
transition: all 0.6s ease;
}
.frame:nth-child(4n + 1) {
background: lightgray;
}
.frame:first-child {
right: 0;
z-index: 1;
}
input[type="checkbox"]:checked + .frame {
right: 0;
}
<div class="frame">First</div>
<input type="checkbox" />
<div class="frame">Second</div>
<input type="checkbox" />
<div class="frame">Third</div>
<input type="checkbox" />
<div class="frame">Fourth</div>

关于javascript - 制作水平滑动部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291836/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com