我在这里有一段代码可以使用,但不确定为什么我的fadein和fadeout对身体不起作用, 如果您认为我遇到的问题请告诉我,谢谢
<script type="text/javascript">
$(window).load(function() {
var lastSlide = "";
$('#slider').nivoSlider({
effect: 'random',
directionNavHide : true,
slices : 15,
animSpeed : 500,
pauseTime : 6000,
controlNav : false,
pauseOnHover : true,
directionNav:true, //Next & Prev
directionNavHide:true, //Only show on hover
beforeChange: function(){
if(lastSlide == "images/header_used.jpg") { //use the bg image of the slide that comes before the newslide
$("body").attr("style","background: #000 url(images/bg.jpg) top center no-repeat;").fadeIn("slow");
} else {
$("body").attr("style","background: #ADADAD url(images/bgnd_grad.jpg) repeat-x;").fadeOut("slow");
}
},
afterChange: function() {
t = $(this).children("a:visible");
lastSlide = $("img", t).attr("src");
}
});
});
</script>
答案 0 :(得分:0)
虽然它可以用身体背景解决你的任务。我会改为使用addClass和removeClass。您正在操作也显示/隐藏使用它的样式属性。
我无法测试它但是如果你将淡入淡出切换为show()和hide()会发生什么,只是为了确定延迟是否是一个因素.. :)
答案 1 :(得分:0)
我认为“lastSlide”变量可以存储多个对象(img中的一个和可见链接中的一个)。
t = $(this).children("a:visible");
lastSlide = $("img", t).attr("src"); //could store multiple source.
这使得比较变得有点诡计并且可能会造成错误。
此外,您使用最差的方式来塑造您的身体。正如其他人所说,使用class或.css jQuery函数(http://api.jquery.com/css/)。
希望这个帮助
答案 2 :(得分:0)
$("body").css("background","#000 url(images/bg.jpg) top center no-repeat;").fadeOut("slow")
如果仍然不起作用,您可以查看您的nivoSlider功能