Simple JQuery Fade ticker

别来无恙 提交于 2019-12-02 12:54:24

问题


I've looked at multiple tickers and they are all far to weighted. I'm after a very simple fadeIn() fadeOut() JQuery ticker for a list of elements to display titles.

<li>Story 1</li>
<li>Story 2</li>
<li>Story 3</li>
<li>Story 4</li>
<li>Story 5</li>

I looked at the next function but I don't know how to make it show the elements I want. So I'm after something very simple. All it needs is an interval a fade out and a fade in on a loop.


回答1:


I did a very simple fader, very light weight. used it for images but changed it for divs:

Script

var aniSpd01 = 1000;
var fadeSpd01 = 1000;

$(function() {
    var startIndex = 0;
    var endIndex = $('#aniHolder div').length;
    $('#aniHolder div:first').fadeIn(fadeSpd01);

    window.setInterval(function() {
    $('#aniHolder div:eq(' + startIndex + ')').delay(fadeSpd01).fadeOut(fadeSpd01);
        startIndex++;
        $('#aniHolder div:eq(' + startIndex + ')').fadeIn(fadeSpd01);

        if (endIndex == startIndex) startIndex = 0;
    }, aniSpd01);
});

HTML

<div id="aniHolder">
    <div>Story 1</div>
    <div>Story 2</div>
    <div>Story 3</div>
</div>

CSS

#aniHolder {width:640px; height:480px; }
#aniHolder div {position:absolute; width:640px; height:480px; display:none;}



回答2:


Try the jquery Cycle plugin; I've used it for creating a simple set of rotating text links, there's a "lite-min" version which keeps it nice and lean if you only want basic functionality and effects.




回答3:


Untested. This simply reschedules the fade out/in, which are chained together, on the next element after the current one completes.

function fadeTicker( $collection, $elem, interval )
{
     var $next = $collection.eq(($collection.index($elem) + 1) % $collection.length));
     $(elem).fadeOut( function() {
          $(next).fadeIn( function() {
               setTimeout( function() {
                       fadeTicker( $collection, $next, interval );
                   },
                   interval
               );
          });
     );
);

Used as:

$(function() {
    fadeTicker( $('li'), $('li:first'), 5000 );
}



回答4:


The jQuery WebTicker is also a very good alternative for rotating text links; whilst giving you complete control of the direction of rotation and the speed; it also allows flexibility of colours and size using CSS. The ticker allows non-stopping rotation and once you reach the last item the first one will start straight away.



来源:https://stackoverflow.com/questions/5420200/simple-jquery-fade-ticker

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!