基本上得到的这段代码在ie8&低。
自动更改淡出当前文本块,但不会淡入新文件,这使我认为正在播放的.next(),因为单击数字(.click函数)可以正常工作。
jQuery:
function doSlideshow() {
if ($('.image_links a.selected').attr("rel") == "five") {
the = $('.image_links a:first');
} else {
the = $('.image_links a.selected').next('a');
}
$('.image_links a.selected').removeClass("selected");
$(the).addClass("selected");
var theNum = $(the).attr("rel");
$('.image_area .images img:not(.visible)').removeClass().addClass("reset");
$('.image_area .images img#' + theNum).removeClass().addClass("que");
$('.image_area .images img.visible').fadeOut(500, function() {
$('.image_area .images img.visible').removeClass().attr("style", "display:block;").addClass("reset");
$('.image_area .images img.que').removeClass("que").addClass("visible")
});
$('.image_area .content .text').fadeOut();
$('.image_area .content .text.' + theNum).fadeIn();
thistimeout = setTimeout('doSlideshow()', 6000);
return false;
}
$(function() {
thistimeout = setTimeout('doSlideshow()', 6000);
$('.image_area .images img').removeClass().addClass("reset");
$('.image_area .images img#one').removeClass().addClass("visible");
$('.image_links a').click(function() {
clearTimeout(thistimeout);
if ($(this).hasClass("selected")) {
return false;
}
$('.image_links a.selected').removeClass("selected");
$(this).addClass("selected");
var theNum = $(this).attr("rel");
$('.image_area .content .text').fadeOut();
$('.image_area .content .text.' + theNum).fadeIn();
$('.image_area .images img:not(.visible)').removeClass().addClass("reset");
$('.image_area .images img#' + theNum).removeClass().addClass("que");
$('.image_area .images img.visible').fadeOut(500, function() {
$('.image_area .images img.visible').removeClass().attr("style", "display:block;").addClass("reset");
$('.image_area .images img.que').removeClass("que").addClass("visible")
});
thistimeout = setTimeout('doSlideshow()', 6000);
return false;
});
});
这是链接: http://b2j3new.zen-host.com 受影响的区域是顶级图像转换器。在webkit / gecko中正常工作
Mucho reveiato!
答案 0 :(得分:1)
尝试替换(2个地方)
thistimeout = setTimeout('doSlideshow()', 6000);
使用:
thistimeout = setInterval(function() {doSlideshow();}, 6000);
从doSlideshow中删除:
thistimeout = setTimeout('doSlideshow()', 6000);
并改变:
clearTimeout(thistimeout);
要:
clearInterval(thistimeout);
如果有帮助,请告诉我。
答案 1 :(得分:0)
看起来IE 8根本没有运行doSlideshow功能。
这是一个很长的镜头,但你在javascript中缺少几个分号。我之前看到IE对这种东西敏感,但是我说,这是一个触及范围。
修复两行不以分号结尾的行。
$('.image_area .images img.que').removeClass("que").addClass("visible")
$('.image_area .images img.que').removeClass("que").addClass("visible")