本文介绍了实现普通的JavaScript轮播.(无插件)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在通过纯JavaScript实现轮播(不使用插件).我想设置上一个和下一个按钮来控制幻灯片图像.
I am implementing carousel through plain javascript (use no plugin). I want to set prev and next button to control slide image.
var firstval = 0;
function Carousel() {
firstval += 2;
parent = document.getElementById('container-carousel');
parent.style.left = "-" + firstval + "px";
if (!(firstval % 150)) {
setTimeout(Carousel, 3000);
firstval = 0;
var firstChild = parent.firstElementChild;
parent.appendChild(firstChild);
parent.style.left= 0;
return;
}
runCarousel = setTimeout(Carousel, 10);
}
Carousel();
#wrapper-carousel {
position: relative;
width: 450px;
height: 150px;
margin: 0 auto;
overflow: hidden;
}
#container-carousel {
position: absolute;
width: 450px;
height: 150px;
}
.child {
width: 150px;
height: 150px;
padding-top: 35px;
float: left;
text-align: center;
font-size: 60px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<div id="wrapper-carousel">
<div id="container-carousel">
<div class="child"><img width="100" src="https://d2z4fd79oscvvx.cloudfront.net/0020232_chocolate_cream_gateaux_cake_320.jpeg"> </div>
<div class="child"><img width="100" src="https://d2z4fd79oscvvx.cloudfront.net/0018904_50_red_roses_in_vase_320.jpeg"> </div>
<div class="child"><img width="100" src="https://d2z4fd79oscvvx.cloudfront.net/0020232_chocolate_cream_gateaux_cake_320.jpeg"> </div>
</div>
<a class="left" href="#wrapper-carousel" style="font-size:100px;z-index:3000;">‹</a>
<a class="right" href="#wrapper-carousel" style="font-size:100px;z-index:3000">›</a>
</div>
我只想添加按钮来控制该轮播.我没有使用任何插件和任何框架轮播.
I want to add simply button to control this carousel. I am not using any plugin and any framework carousel.
JsFiddle: https://jsfiddle.net/varunPes/wzkLjh8s/21/
JsFiddle: https://jsfiddle.net/varunPes/wzkLjh8s/21/
推荐答案
不带插件的轮播.
var firstval = 0;
var runSlider;
function Carousel() {
clearTimeout(runSlider);
firstval += 2;
parent = document.getElementById('container-carousel');
parent.style.left = "-" + firstval + "px";
if (!(firstval % 130)) {
setTimeout(Carousel, 3000);
firstval = 0;
var firstChild = parent.firstElementChild;
parent.appendChild(firstChild);
parent.style.left= 0;
return;
}
runCarousel = setTimeout(Carousel, 10);
}
Carousel();
function leftClick(){
firstval += 2;
parent = document.getElementById('container-carousel');
parent.style.left = "-" + firstval + "px";
if (!(firstval % 130)) {
firstval = 0;
var firstChild = parent.firstElementChild;
parent.appendChild(firstChild);
parent.style.left= 0;
return;
}
runSlider = setTimeout(leftClick, 10);
}
function rightClick(){
firstval += 2;
parent = document.getElementById('container-carousel');
parent.style.left = firstval + "px";
if (!(firstval % 130)) {
firstval = 0;
var firstChild = parent.firstElementChild;
parent.appendChild(firstChild);
parent.style.left= 0;
return;
}
runSlider = setTimeout(rightClick, 10);
}
#wrapper-carousel {
position: relative;
width: 450px;
height: 150px;
margin: 0 auto;
overflow: hidden;
display:flex;
}
#main-carousel {
position: relative;
width: 450px;
height: 150px;
overflow:hidden;
}
#container-carousel {
position: absolute;
width: 450px;
height: 150px;
}
.child {
width: 130px;
height: 150px;
padding-top: 35px;
float: left;
text-align: center;
font-size: 60px;
}
<div id="wrapper-carousel">
<a class="left" href="#wrapper-carousel" style="font-size:100px;z-index:3000;" onclick="leftClick()">‹</a>
<div id="main-carousel">
<div id="container-carousel">
<div class="child"><img width="100" src="https://d2z4fd79oscvvx.cloudfront.net/0020232_chocolate_cream_gateaux_cake_320.jpeg"> </div>
<div class="child"><img width="100" src="https://d2z4fd79oscvvx.cloudfront.net/0018904_50_red_roses_in_vase_320.jpeg"> </div>
<div class="child"><img width="100" src="https://d2z4fd79oscvvx.cloudfront.net/0020232_chocolate_cream_gateaux_cake_320.jpeg"> </div>
</div></div>
<a class="right" href="#wrapper-carousel" style="font-size:100px;z-index:3000" onclick="rightClick()">›</a>
</div>
带有普通javascript的轮播.
Carousel with plain javascript.
这篇关于实现普通的JavaScript轮播.(无插件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!