Was tired of heavy bloated jQuery slider plugins so I made my own. Has controls and finds your slide height/width automatically. Simple & basic, the way momma would have wanted.
Created
February 18, 2019 15:13
-
-
Save kianoshp/b896818def4d24057f61bd4dbfe1e629 to your computer and use it in GitHub Desktop.
Very Simple Slider
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<h1>Incredibly Basic Slider</h1> | |
<div id="slider"> | |
<a href="#" class="control_next">></a> | |
<a href="#" class="control_prev"><</a> | |
<ul> | |
<li>SLIDE 1</li> | |
<li style="background: #aaa;">SLIDE 2</li> | |
<li>SLIDE 3</li> | |
<li style="background: #aaa;">SLIDE 4</li> | |
</ul> | |
</div> | |
<div class="slider_option"> | |
<input type="checkbox" id="checkbox"> | |
<label for="checkbox">Autoplay Slider</label> | |
</div> | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jQuery(document).ready(function ($) { | |
$('#checkbox').change(function(){ | |
setInterval(function () { | |
moveRight(); | |
}, 3000); | |
}); | |
var slideCount = $('#slider ul li').length; | |
var slideWidth = $('#slider ul li').width(); | |
var slideHeight = $('#slider ul li').height(); | |
var sliderUlWidth = slideCount * slideWidth; | |
$('#slider').css({ width: slideWidth, height: slideHeight }); | |
$('#slider ul').css({ width: sliderUlWidth, marginLeft: - slideWidth }); | |
$('#slider ul li:last-child').prependTo('#slider ul'); | |
function moveLeft() { | |
$('#slider ul').animate({ | |
left: + slideWidth | |
}, 200, function () { | |
$('#slider ul li:last-child').prependTo('#slider ul'); | |
$('#slider ul').css('left', ''); | |
}); | |
}; | |
function moveRight() { | |
$('#slider ul').animate({ | |
left: - slideWidth | |
}, 200, function () { | |
$('#slider ul li:first-child').appendTo('#slider ul'); | |
$('#slider ul').css('left', ''); | |
}); | |
}; | |
$('a.control_prev').click(function () { | |
moveLeft(); | |
}); | |
$('a.control_next').click(function () { | |
moveRight(); | |
}); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600); | |
html { | |
border-top: 5px solid #fff; | |
background: #58DDAF; | |
color: #2a2a2a; | |
} | |
html, body { | |
margin: 0; | |
padding: 0; | |
font-family: 'Open Sans'; | |
} | |
h1 { | |
color: #fff; | |
text-align: center; | |
font-weight: 300; | |
} | |
#slider { | |
position: relative; | |
overflow: hidden; | |
margin: 20px auto 0 auto; | |
border-radius: 4px; | |
} | |
#slider ul { | |
position: relative; | |
margin: 0; | |
padding: 0; | |
height: 200px; | |
list-style: none; | |
} | |
#slider ul li { | |
position: relative; | |
display: block; | |
float: left; | |
margin: 0; | |
padding: 0; | |
width: 500px; | |
height: 300px; | |
background: #ccc; | |
text-align: center; | |
line-height: 300px; | |
} | |
a.control_prev, a.control_next { | |
position: absolute; | |
top: 40%; | |
z-index: 999; | |
display: block; | |
padding: 4% 3%; | |
width: auto; | |
height: auto; | |
background: #2a2a2a; | |
color: #fff; | |
text-decoration: none; | |
font-weight: 600; | |
font-size: 18px; | |
opacity: 0.8; | |
cursor: pointer; | |
} | |
a.control_prev:hover, a.control_next:hover { | |
opacity: 1; | |
-webkit-transition: all 0.2s ease; | |
} | |
a.control_prev { | |
border-radius: 0 2px 2px 0; | |
} | |
a.control_next { | |
right: 0; | |
border-radius: 2px 0 0 2px; | |
} | |
.slider_option { | |
position: relative; | |
margin: 10px auto; | |
width: 160px; | |
font-size: 18px; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment