Here is my code/example: http://jsfiddle.net/6j4cT/14/
The slider works perfectly, all I’m after now is if you were to click on any of the “news-items” say “node 1” for example the corresponding image will render – same for “node 2”
// News Article Slideshow
var periodToChangeSlide = 5000;
var pp_slideshow = undefined;
var currentPage = 0;
$('#news-feature-img-wrap li').css('display','list-item').slice(1).css('display','none');
$('#news-items li:first').addClass('active');
$("#news-feature-wrap #news-items li").click( function() {
$(this).parent().addClass('active');
$(this).parent().siblings().removeClass('active');
var index = $(this).parent().index();
var toShow = $("#news-feature-wrap #news-feature-img-wrap li").eq(index);
toShow.show();
toShow.siblings().hide();
currentPage = index;
$.stopSlideshow();
});
$.startSlideshow = function(){
if(typeof pp_slideshow == 'undefined'){
pp_slideshow = setInterval($.startSlideshow, periodToChangeSlide);
} else {
$.changePage();
}
}
$.stopSlideshow = function(){
clearInterval(pp_slideshow);
pp_slideshow= undefined;
}
$.changePage = function(){
var numSlides= $('#news-feature-wrap #news-feature-img-wrap li').length;
currentPage = (currentPage + 1) % numSlides;
var menu = $('#news-feature-wrap #news-items li').eq(currentPage);
menu.addClass('active');
menu.siblings().removeClass('active');
var toShow = $("#news-feature-wrap #news-feature-img-wrap li").eq(currentPage);
toShow.show();
toShow.siblings().hide();
}
$.startSlideshow();
I modified your
$.changePagefunction slightly to accept an internal parameter:Then you can just add a simple event listener:
Fiddle
For jQuery
1.4.3–1.6.4:Fiddle