If you have a list of items like that are SIFR replaced this:
<ul class="slogan-list">
<li>...</li>
</ul>
The JQuery would be something like this:
var jQu = jQuery.noConflict();
jQu('ul.slogan-list').each(function(){
var _hold = jQu(this);
var _list = _hold.children();
var _t, _f = true;
var _a = (_list.index(_list.filter('.active:eq(0)') != -1))?(_list.index(_list.filter('.active:eq(0)'))):(0);
_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
if(_f && stay_time){
_t = setTimeout(function(){
if(_a < _list.length - 1) changeEl(_a + 1);
else changeEl(0);
}, stay_time);
}
function changeEl(_ind){
if(_t) clearTimeout(_t);
if(_ind != _a){
_hold.stop().height(_hold.height());
if(jQu.browser.opera){
_list.eq(_a).removeClass('active').css('opacity', 0);
_list.eq(_ind).addClass('active').css('opacity', 1);
}
else{
_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration: change_speed});
_list.eq(_ind).addClass('active').animate({opacity: 1}, {queue:false, duration: change_speed});
}
_hold.animate({height: _list.eq(_ind).outerHeight()}, change_speed/2, function(){ jQu(this).height('auto');});
_a = _ind;
}
if(_f && stay_time){
_t = setTimeout(function(){
if(_a < _list.length - 1) changeEl(_a + 1);
else changeEl(0);
}, stay_time+change_speed);
}
}
});