Avatar billede k-asp-er Nybegynder
01. august 2010 - 08:07 Der er 4 kommentarer og
1 løsning

Start med pause

Har en nyhedsticker, som kører fint.
Den har - som udgangspunkt - en pauseknap man trykke på for pause, derefter kan man klikke på playknap, som ved pause erstatter pauseknap.
Jeg ville gerne, at tickeren er på pause, når siden loades.

Jeg har den komplette kode, men mener kun det er nødvendigt at rette i det nederste, eller måske det øverste. Hm

Koden kommer her:

//
var Ticker = new Class({
    setOptions: function(options) {
        this.options = Object.extend({
            speed: 1400,
            delay: 9000,
            direction: 'vertical',
            onComplete: Class.empty,
            onStart: Class.empty
        }, options || {});
    },
    initialize: function(el,options){
        this.setOptions(options);
        this.el = $(el);
        this.items = this.el.getElements('li');
        var w = 0;
        var h = 0;
        if(this.options.direction.toLowerCase()=='horizontal') {
            h = this.el.getSize().size.y;
                this.items.each(function(li,index) {
                w += li.getSize().size.x;
            });
    } else {
            w = this.el.getSize().size.x;
            this.items.each(function(li,index) {
                h += li.getSize().size.y;
            });
        }
        this.el.setStyles({
            position: 'absolute',
            top: 0,
            left: 0,
            width: w,
                height: h
        });
        this.fx = new Fx.Styles(this.el,{duration:this.options.speed,onComplete:function() {
            var i = (this.current==0)?this.items.length:this.current;
            this.items[i-1].injectInside(this.el);
            this.el.setStyles({
                left:0,
                top:0
            });
        }.bind(this)});
        this.current = 0;
        this.next();
        },
   
    pause: function() {
        $clear(mytimer);
        mytimer = null;
    },
    resume: function() {
        if (mytimer == null) {
        this.next();
        }
    },
    next: function() {
        this.current++;
        if (this.current >= this.items.length) this.current = 0;
        var pos = this.items[this.current];
        this.fx.start({
            top: -pos.offsetTop,
            left: -pos.offsetLeft
        });
        mytimer = this.next.bind(this).delay(this.options.delay+this.options.speed);
    }
});

var mytimer = 2000;

window.addEvent('domready', function() {
  var hor = new Ticker('TickerVertical', {
      speed : 1400, delay : 9000, direction : 'vertical'});
    $('stop_scroll').addEvent('click', function() {
        $('play_scroll_cont').style.display='block';
        $('stop_scroll_cont').style.display='none';
        hor.pause();
    });
    $('play_scroll').addEvent('click', function() {
        $('stop_scroll_cont').style.display='block';
        $('play_scroll_cont').style.display='none';
        hor.resume();
    });
});

//
Mvh.
K-asp-er
Avatar billede The_Buzz Novice
01. august 2010 - 09:29 #1
Umiddelbart (hvis din javascript er i headeren) - kan du vel lave en

<body onload="hor.pause();">
Avatar billede intenz Novice
02. august 2010 - 10:13 #2
Eller sætte den nedest i din 'domready' event.


window.addEvent('domready', function() {
  var hor = new Ticker('TickerVertical', {
      speed : 1400, delay : 9000, direction : 'vertical'});
    $('stop_scroll').addEvent('click', function() {
        $('play_scroll_cont').style.display='block';
        $('stop_scroll_cont').style.display='none';
        hor.pause();
    });
    $('play_scroll').addEvent('click', function() {
        $('stop_scroll_cont').style.display='block';
        $('play_scroll_cont').style.display='none';
        hor.resume();
    });

    hor.pause();
});
Avatar billede k-asp-er Nybegynder
04. august 2010 - 11:28 #3
Tjah, Den pauser godt nok (naturligvis) - men først efter det første scroll, hvor den så viser nyhed nummer 2. Hvilket sker lige efter at siden er loaded.
Pauseknappen forbliver også pauseknap - hvilket er ret ulogisk.

Den skal som udgangspunkt starte pauseret - visende playknappen OG den første nyhed.

Mvh. K-asp-er
Avatar billede k-asp-er Nybegynder
04. august 2010 - 11:35 #4
Avatar billede k-asp-er Nybegynder
08. august 2010 - 23:03 #5
Lukker - tak for interessen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester