这是我的 jsFiddle:http: //jsfiddle.net/markrummel/vPcrX/
此代码适用于 Chrome、Firefox、Safari 和 IE 10,但不适用于 IE 7、8 或 9。
我已经通过 IE 10 的开发者工具对其进行了测试,当我第一次在 IE 7、8 或 9 中打开它时它不起作用。但是,在我打开开发者工具后,它开始在 IE 7、8 和 9 中工作。我还通过Microsoft 的 Virtual PC在较旧的 IE 浏览器中进行了测试在较旧的 IE 浏览器中进行了测试,并且旋转器无法正常工作。
你可以在这里看到整个页面:http: //melaniejaderummel.com。但是,我认为这个问题与 jQuery 代码无关,因为它在精简的jsFiddle中不起作用。
您能提供的任何帮助将不胜感激!
我的 HTML:
<div id="testimonials">
<p data-testimonial="1">“Testimonial Content” – Julie S.</p>
<p data-testimonial="2">“Testimonial Content” – Melissa D.</p>
<!--repeated; 10 total testimonials-->
</div>
相关的CSS:
#testimonials p {display:none;}
最后,这是我的 javascript:
$(document).ready(function () {
var shownTestimonials = [];
displayTestimonials(shownTestimonials);
function displayTestimonials(shownTestimonials) {
var totalTestimonials = 10;
console.log(shownTestimonials);
//console.log(shownTestimonials.length);
if (shownTestimonials.length == 0 || shownTestimonials.length == totalTestimonials) {
var shownTestimonials = [];
}
function getNewTestimonial(totalTestimonials) {
return Math.floor(Math.random() * totalTestimonials) + 1; //random number between 1 and 10
}
var currentTestimonial = $('#testimonials p.visible').attr('data-testimonial');
var newTestimonial = getNewTestimonial(totalTestimonials);
console.log(currentTestimonial);
if (currentTestimonial == null) {
$('#testimonials p[data-testimonial="' + newTestimonial + '"]').addClass('visible').fadeIn(700);
shownTestimonials.push(newTestimonial);
} else {
var newExists = 1;
while (newExists > -1) {
var newTestimonial = getNewTestimonial(totalTestimonials);
var newExists = $.inArray(newTestimonial, shownTestimonials)
console.log(newExists);
}
$('#testimonials p[data-testimonial="' + currentTestimonial + '"]').removeClass('visible').fadeOut(600);
setTimeout(function () {
$('#testimonials p[data-testimonial="' + newTestimonial + '"]').addClass('visible').fadeIn(700);
shownTestimonials.push(newTestimonial);
}, 700);
} //end else
setTimeout(function () {
displayTestimonials(shownTestimonials);
}, 12000);
} //end displayTestimonials();
}); //end $(document).ready