source: trunk/spip/esqueleto-redcta/plugins/magusine/javascript/news-sticker.js @ 162

Last change on this file since 162 was 80, checked in by guille, 16 years ago

el plugin completo

File size: 2.2 KB
RevLine 
[80]1/*
2*
3* Copyright (c) 2006 Sam Collett (http://www.texotela.co.uk)
4* Licensed under the MIT License:
5* http://www.opensource.org/licenses/mit-license.php
6*
7*/
8
9/*
10* Un affichage d'actus simple
11*
12* @nom     newsticker (ou newsTicker)
13* @param    delay      Delai (en millisecondes) entre les iterations. Par default 4 secondes (4000ms)
14* @autheur   Sam Collett (http://www.texotela.co.uk)
15* @adaptation Allergie aka Philippe Auriol
16* @exemple  $("#news").newsticker(); // ou jQuery("#news").newsticker(5000);
17*
18*/
19jQuery.fn.newsTicker = jQuery.fn.newsticker = function(delay)
20{
21        return this.each(
22                function()
23                {
24                        if(this.nodeName.toLowerCase()!= "ul") return;
25                        delay = delay || 6000;
26                        var self = this;
27                        self.items = jQuery("li", self);
28                        // cache tous les items (sauf le premier)
29                        self.items.not(":eq(0)").hide().end();
30                        //  item courant
31                        self.currentitem = 0;
32                        var doTick = function()
33                        {
34                                jQuery.newsticker(self);
35                        }
36                        setInterval(doTick,delay);
37                }
38        )
39        .addClass("newsticker")
40        .hover(
41                function()
42                {
43                        // se met en pause si on passe la souris dessus
44                        this.pause = true;
45                },
46                function()
47                {
48                        // stop la pause quand on enleve la souris de l'item
49                        this.pause = false;
50                }
51        );
52}
53jQuery.newsticker = function(el)
54{
55        // retour si la souris passe dessus
56        if(el.pause) return;
57        // cache l'item courant
58        jQuery(el.items[el.currentitem]).fadeOut("slow",
59                function()
60                {
61                        jQuery(this).hide();
62                        // passe a l'objet suivant et le montre
63                        el.currentitem = ++el.currentitem % (el.items.size());
64                        jQuery(el.items[el.currentitem]).fadeIn("slow");
65                }
66        );
67}
Note: See TracBrowser for help on using the repository browser.