首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次用户刷新页面时都会有不同的JS动画

每次用户刷新页面时都会有不同的JS动画
EN

Stack Overflow用户
提问于 2014-07-12 12:38:32
回答 3查看 270关注 0票数 0

我在我的网站上使用一个小动画来增加数字,看到http://jsfiddle.net/zQ5AL/,我想做的是有2-3个不同的动画(实际上是相同的动画,但是numberValue和文本是不同的),这样每次用户刷新页面时,他都会得到一个不同的数字(预先设置)和文本(即。900是鸟类的数量,1300只是猫的数量,80只是狗的数量等等)。我该怎么做?

非常感谢,

代码语言:javascript
复制
<p id="dynamic-number">1</p>
<p class="dynamic-text">Number of birds</p>

联署材料:

代码语言:javascript
复制
var currentNumber = $('#dynamic-number').text();

$({numberValue: currentNumber}).animate({numberValue: 900}, {
    duration: 2000,
    easing: 'swing',
    step: function() { 
        $('#dynamic-number').text(Math.ceil(this.numberValue)); 
    }
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-12 13:00:17

这是小提琴:http://jsfiddle.net/w346Q/2/

Math.random()中的随机数

来自消息数组的随机消息。

代码语言:javascript
复制
var currentNumber = $('#dynamic-number').text();

var randMsg = ["Number of birds", "Aeroplanes flying", "Aliens seen", "Greetings received", "Messages Sent", "Your Personal Message"];

var n = Math.floor(Math.random() * randMsg.length);

$('.dynamic-text').text(randMsg[n]);

var maxNo = 1000;

var randNo = Math.ceil(Math.random() * maxNo);

$({
    numberValue: currentNumber
}).animate({
    numberValue: randNo
}, {
    duration: 2000,
    easing: 'swing',
    step: function () {
        $('#dynamic-number').text(Math.ceil(this.numberValue));
    }
});

您可以自定义它:

  1. 更改通过更改maxNo生成的最大随机no
  2. 通过更改或添加字符串到randMsg数组来更改消息或添加消息

更新

如果您的数字是预先定义的:http://jsfiddle.net/w346Q/4/

代码语言:javascript
复制
var currentNumber = $('#dynamic-number').text();

var randMsg = ["Number of birds", "Aeroplanes flying", "Aliens seen", "Greetings received", "Messages Sent", "Your Personal Message"];
var randNo = [800,90,700,99,600,56];

var n = Math.floor(Math.random() * randMsg.length);

$('.dynamic-text').text(randMsg[n]);

$({
    numberValue: currentNumber
}).animate({
    numberValue: randNo[n]
}, {
    duration: 2000,
    easing: 'swing',
    step: function () {
        $('#dynamic-number').text(Math.ceil(this.numberValue));
    }
});

在json数据的帮助下,也可以实现同样的功能。

票数 0
EN

Stack Overflow用户

发布于 2014-07-12 12:54:44

试试这个

代码语言:javascript
复制
function changeNumber(txtc,num){
$('#'+txtc).text('1');
var currentNumber = $('#dynamic-number').text();
var x = Math.floor((Math.random() * num) + 1);
$({numberValue: currentNumber}).animate({numberValue: x}, {
    duration: 2000,
    easing: 'swing',
    step: function() { 
        $('#'+txtc).text(Math.ceil(this.numberValue)); 
    }
});

}

changeNumber('dynamic-number1',900);
changeNumber('dynamic-number2',1300);
changeNumber('dynamic-number3',80);

演示

票数 2
EN

Stack Overflow用户

发布于 2014-07-12 12:52:38

试一试:

html

代码语言:javascript
复制
<p id="dynamic-number" class="dynamic-number">1</p>
<p class="dynamic-text">Number of birds</p>
<p id="dynamic-number2"  class="dynamic-number">1</p>
<p class="dynamic-text">Number of Rats</p>

css

代码语言:javascript
复制
.dynamic-number {
    width: 100px;
    height: 40px;
    padding: 20px;
    background: red;
    font: bold 35px Arial;
    color: #fff;
    text-align: center;
}

.dynamic-text {
    font: bold 35px Arial;
    color: blue;
    text-align: left;
}

javascript

代码语言:javascript
复制
DoAnimation(700,'#dynamic-number');
DoAnimation(500,'#dynamic-number2');
function DoAnimation(nv,id) {
var currentNumber = $(id).text();
$({numberValue: currentNumber}).animate({numberValue: nv}, {
    duration: 2000,
    easing: 'swing',
    step: function() { 
        $(id).text(Math.ceil(this.numberValue)); 
    }
});
}

演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24712993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档