最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Animating each number on Jquery countdown timer - Stack Overflow

programmeradmin1浏览0评论

/

The current jsfiddle above shows a 2 second count down. Imagine there is no text and just the number. I was trying to find out:

a) how i should integrate some sort of animation into the js so the number changes size, color and position whilst its currently being counted (in time with its duration). Css3 would work but i'm needing it to be javascript based so it will work on older browsers on mobile.

b) Once the countdown had finished display other content as if it were a new page but still on same url.

Any feedback much appreciated.

EDIT: Even a good hint to help me along my way may even be better for me to help figure it out myself. It's just a lack of syntax knowledge being a bit of noob in js. cheers

http://jsfiddle/GNrUM/

The current jsfiddle above shows a 2 second count down. Imagine there is no text and just the number. I was trying to find out:

a) how i should integrate some sort of animation into the js so the number changes size, color and position whilst its currently being counted (in time with its duration). Css3 would work but i'm needing it to be javascript based so it will work on older browsers on mobile.

b) Once the countdown had finished display other content as if it were a new page but still on same url.

Any feedback much appreciated.

EDIT: Even a good hint to help me along my way may even be better for me to help figure it out myself. It's just a lack of syntax knowledge being a bit of noob in js. cheers

Share Improve this question edited Sep 11, 2012 at 15:41 sledgeweight asked Sep 11, 2012 at 15:31 sledgeweightsledgeweight 8,1156 gold badges32 silver badges46 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 9

use animate() function

var sec = 10
var timer = setInterval(function() {
    $('#hideMsg span').animate({
        opacity: 0.25,
        fontSize: '2em'
    }, 500, function() {
        $('#hideMsg span').css('opacity', 1);
        $('#hideMsg span').css('font-size', '1em');
        $('#hideMsg span').text(sec--);
    })

    if (sec == -1) {
        $('#hideMsg').fadeOut('fast');
        clearInterval(timer);
    }
}, 1000);​

JSFiddle link: http://jsfiddle/GNrUM/412/

I would look at something similar to this library: http://ricostacruz./jquery.transit/

It will use CSS3 transitions when available and do a graceful fallback.

As to where to add it, before you do this:

$('#hideMsg span').text(sec--);

I would perform the required animation and in the onfinish of the animation execute the above code to update the timer.

http://jsfiddle/GNrUM/410/

var sec = 10
var timer = setInterval(function() { 
    var color = sec > 5 ? "red" : "green";
   $('#hideMsg span').text(--sec).css("font-size", 10+sec*2 + "px").css("color", color);
   if (sec == 0) {
      $('#hideMsg').fadeOut('fast');
      clearInterval(timer);
   } 
}, 1000);​

These values may not be what you're looking for, but this gives you the basic idea to get started.

I have used this jQuery plugin in the past. It has onUpdate and onComplete callbacks. You should be able to restyle the counter onUpdate and also hide it and load some content onComplete. Does that make sense to you?

I see you need to count down, not up, but you should have no problem adapting the plug-in as it's quite simple.

发布评论

评论列表(0)

  1. 暂无评论