-
-
Save mhulse/66bcbb7099bb4beae530 to your computer and use it in GitHub Desktop.
[data-slides] { | |
background-image: url(../../uploads/banner1.jpg); /* Default image. */ | |
background-repeat: no-repeat; | |
background-position: center top; | |
background-size: cover; | |
transition: background-image 1s linear; | |
} | |
/* Use additional CSS to control the `height` of `[data-slides]`, like so: */ | |
.test { height: 220px; } | |
@media all and (min-width: 48em) { | |
.test { height: 320px; } | |
} |
<div | |
class="test" | |
data-slides='[ | |
"uploads/banner1.jpg", | |
"uploads/banner2.jpg", | |
"uploads/banner3.jpg", | |
"uploads/banner4.jpg", | |
"uploads/banner5.jpg", | |
"uploads/banner6.jpg", | |
"uploads/banner7.jpg", | |
"uploads/banner8.jpg", | |
"uploads/banner9.jpg" | |
]' | |
> … </div> <!-- /.primary --> |
/*! slides | https://gist.github.com/mhulse/66bcbb7099bb4beae530 */ | |
(function($) { | |
'use strict'; | |
var $slides = $('[data-slides]'); | |
var images = $slides.data('slides'); | |
var count = images.length; | |
var slideshow = function() { | |
$slides | |
.css('background-image', 'url("' + images[Math.floor(Math.random() * count)] + '")') | |
.show(0, function() { | |
setTimeout(slideshow, 5000); | |
}); | |
}; | |
slideshow(); | |
}(jQuery)); |
/*! slides | https://gist.github.com/mhulse/66bcbb7099bb4beae530 */ | |
!function(t){"use strict";var a=t("[data-slides]"),s=a.data("slides"),e=s.length,n=function(){a.css("background-image",'url("'+s[Math.floor(Math.random()*e)]+'")').show(0,function(){setTimeout(n,5e3)})};n()}(jQuery); |
Thanks for doing that @ki11ua!
I created a fork of @ki11ua's fork which works perfectly and includes a nice image preload trick @ssbg-slideshow.js
@ki11ua's fork has an issue when 3 or more images are used and had to rewrite the javascript.
Aweeesome! Nice work @Ema4rl! Thanks for sharing. :)
I copied paste and made some changes but it didn't work.. I'm using CodeIgniter and referenced the image address using base_url()..
$slides.data('slides') return me an string.
So, images.length return "69".
I'm not able to parse items inside the attr data-slides :(
Is possible to add fade effect ?, Thanks for the code.
@inercianet just put transition css to the container
e.g. transition: all 2s ease-in-out;
@fr4nb I know this comment comes too late, but it might help someone else, you probably have a coma at the end of your array data-slides='[1,2,3,]' returns 8 the whole thing as a string, '[1,2,3]' returns 3 as an array.
How would you recommend adding slider dots to toggle through the images?
How can i adapt this to show images in order rather than random?