html5在线计算器代码,HTML5 素数计算器

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

// calculate successive prime numbers

var Prime = function() {

// current prime number

this.prime = 1;

// return true if NUM is prime

this.isPrime = function(num) {

var result = true;

if (num !== 2) {

if (num % 2 == 0) {

result = false;

} else {

for (x=3; x<=Math.sqrt(num); x+=2) {

if (num % x == 0) result = false;

}

}

}

return result;

}

// return next prime number

this.nextPrime = function() {

this.prime++;

while (!this.isPrime(this.prime)) this.prime++;

return this.prime;

}

}

// prime

this.prime = new Prime();

// current delay

this.delay = 100;

// calculate primes

function calcPrimesLoop() {

var primes = document.getElementById('primes');

primes.appendChild(document.createTextNode(' '+this.prime.nextPrime()));

calcPrimesDelay = setTimeout('calcPrimesLoop()', this.delay);

}

// start calculating primes

function calcPrimesStart() {

var prime = this.prime.nextPrime();

var calculate = document.getElementById('calculate');

calculate.href = 'javascript:calcPrimesStop()';

calculate.firstChild.data = 'calculate on';

var primes = document.getElementById('primes');

var spacer = ' ';

if (prime == 2) spacer = '';

primes.appendChild(document.createTextNode(spacer+prime));

scrollPrimesStart();

calcPrimesDelay = setTimeout('calcPrimesLoop()', this.delay);

}

// stop calculating primes

function calcPrimesStop() {

clearTimeout(calcPrimesDelay);

var calculate = document.getElementById('calculate');

calculate.href = 'javascript:calcPrimesStart()';

calculate.firstChild.data = 'calculate off';

scrollPrimesStop();

}

// scroll primes text area

function scrollPrimesLoop() {

var primes = document.getElementById('primes');

primes.scrollTop = primes.scrollHeight;

scrollDelay = setTimeout('scrollPrimesLoop()', 100);

}

// start scrolling primes text area

function scrollPrimesStart() {

var scroll = document.getElementById('scroll');

scroll.href = 'javascript:scrollPrimesStop()';

scroll.firstChild.data = 'scrolling on';

scrollPrimesLoop();

}

// stop scrolling primes text area

function scrollPrimesStop() {

clearTimeout(scrollDelay);

var scroll = document.getElementById('scroll');

scroll.href = 'javascript:scrollPrimesStart()';

scroll.firstChild.data = 'scrolling off';

}

// set delay

function setDelay(delay) {

this.delay = delay;

}

window.onload = calcPrimesStart;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值