这是我用来实现简单淡出、淡入淡出效果的代码。
var fadeLoop = function($el) {
$el.delay( 5000 ).fadeOut(500, function() {
var $next = $el.next();
if ($next.length == 0) {
$next = $el.siblings(":first");
}
$next.fadeIn(500, function() {
fadeLoop($next);
});
});
};
$(document).ready(function(){
$.noConflict();
$(".fade1").siblings().hide();
fadeLoop($(".fade1"));
});
问题是,我正试图在使用jquery 1.8.0的Mybb论坛上实现这一点。我试着简单地将链接的JQ版本更改为1.8.3,这破坏了论坛的许多功能,所以我得出的结论是,我必须重写它才能与1.8.0兼容。问题是,我不知道该怎么做。谢谢任何能帮我的人。我很感激。
我在jsfiddle上进行了一次测试,并尝试了几个不同版本的jQuery(1.6.4、1.7.2、1.8.3),没有出现问题。我认为您可能会遇到与jQuery无关的另一个问题,因为您当前的代码运行良好。这是我的代码(链接到jsfidd.net所必需的)
HTML
<div>
<div class="foo fade1">A</div>
<div class="foo">B</div>
<div class="foo">C</div>
<div class="foo">D</div>
</div>
CSS
.foo {
background-color: red;
color: white;
padding: 10px;
}
JavaScript
var fadeLoop = function($el) {
$el.delay( 5000 ).fadeOut(500, function() {
var $next = $el.next();
if ($next.length == 0) {
$next = $el.siblings(":first");
}
$next.fadeIn(500, function() {
fadeLoop($next);
});
});
};
$(document).ready(function(){
$(".fade1").siblings().hide();
fadeLoop($(".fade1"));
});
还有jsfiddle链接:https://jsfiddle.net/0v9zxwp5/1/
单击单词JAVASCRIPT旁边的齿轮图标以更改jQuery版本。