Skip to content

「人類の歴史」表示で、今年の表示がされない #7

@tsuda-a

Description

@tsuda-a

 「人類の歴史」表示で、今年の表示がされない。

 time-flies/public/js/script.js の function calc() の以下のコードでは、now が nextNewYear と同値になることはないため、ratio は常に 1.0 未満となる。

ratio = (now - thisNewYear) / (nextNewYear - thisNewYear)

 このため、var d = now.getFullYear() + 200000.0*(r-1.0); では r が 1.0 になったときにはじめて d が今年(=now.getFullYear() ) となるため、d が 今年となることはない。

■修正案
 今年の表示の場合、来年の 1/1 に向けて漸近するはずなので、now.getFullYear() ではなく nextNewYear.getFullYear() を指定するのが妥当ではないかと思われる。

// 現在のコードの修正
var d = nextNewYear.getFullYear() + 200000.0*(r-1.0); 

// Issue #6 を反映する場合のコードの修正
var d = Math.floor( (nextNewYear.getFullYear() + 200000.0) * r - 200000.0 );

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions