I am building with bootstrap and have a header area that rotates text on the left and utilizes bootstrap's carousel to rotate images on the right side. The text is only a few words of copy, with the main word being larger and script, with a few words below it in different type. The javascript I am using rotates the first large word as it should, but stacks the other words on top of each other. Everything works properly in most browsers, but IE8 is giving me this problem.
Can anyone look at my code and give me any help to fix this?
This is my html:
<div class="rotator">
<ul>
<li class="show">
<p class="script">Discover<br/><br/>
<span class="captionwhite">the many uses<br/>of glass block</span></p>
</li>
<li class="show">
<p class="script">Create<br/><br/>
<span class="captionwhite">a beautiful<br/>shower enclosure</span></p>
</li>
<li class="show">
<p class="script">Illuminate<br/><br/>
<span class="captionwhite"> your bathroom<br/>naturally</span></p>
</li>
</ul>
</div>
This is my css:
/* rotator in-page placement */
div.rotator {
position:relative;
}
/* rotator css */
div.rotator ul li {
position:absolute;
list-style: none;
}
This is the javascript:
function theRotator() {
//Set the opacity of all images to 0
$('div.rotator ul li').css({opacity: 0.0});
//Get the first image and display it (gets set to full opacity)
$('div.rotator ul li:first').css({opacity: 1.0});
//Call the rotator function to run the slideshow, 3000 = change to next image after 3 seconds
setInterval('rotate()',3000);
}
function rotate() {
//Get the first image
var current = ($('div.rotator ul li.show')? $('div.rotator ul li.show') : $('div.rotator ul li:first'));
if ( current.length == 0 ) current = $('div.rotator ul li:first');
//Get next image, when it reaches the end, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));
//Un-comment the 3 lines below to get the images in random order
//var sibs = current.siblings();
//var rndNum = Math.floor(Math.random() * sibs.length );
//var next = $( sibs[ rndNum ] );
//Set the fade in effect for the next image, the show class has higher z-index
next.css({opacity: 0.0})
.addClass('show')
.animate({opacity: 1.0}, 3000);
//Hide the current image
current.animate({opacity: 0.0}, 3000)
.removeClass('show');
};
$(document).ready(function() {
//Load the slideshow
theRotator();
$('div.rotator').fadeIn(3000);
$('div.rotator ul li').fadeIn(3000); // tweek for IE
});
Any help would be appreciated!