DotNetNuke的储蓄计数器模块?

时间:2010-10-28 16:24:00

标签: asp.net module dotnetnuke

我已经搜索了很长时间并且很难找到显示客户储蓄的模块(以$$为单位)。我希望有两种方法可以实现这一点

<小时/> 方法一:
客户输入“基数”$$金额,开始日期和每个时间段的递增值
例如:基数= $ 1,000,000;开始:1/1/2010;增量= $ 100;时间段=分钟
这将在3天后(3天* 24小时* 60分钟* 100美元=自2010年1月1日以来的432,000美元)下降1,432,000美元 每次刷新页面时,保存的金额将根据开始日期和当前日期之间的时间差计算,并显示给用户。

方法二:(IDEAL)
与上面相同的设置,但节省将每秒更新(并可能与某种里程表看起来不断翻滚的计数器)。

有没有人见过或听说过这样的模块?我已经搜索了高低,我能找到的唯一“计数器”是点击计数器等。如果没有人知道任何预先存在的模块,那么如何将其编码为DotNetNuke模块?我还没有深入研究自定义模块的编码世界。我只调整了其他模块,使它们按照我需要的方式工作 非常感谢任何和所有的帮助!
更新:
这是我的最终代码。 在DNN HTML模块的“页脚”部分(在“设置”下)中:          $(文件)。就绪(函数(){

setTimeout('countit()',1); //1 makes it display the value quickly after loading    
});

function countit()
{
  var amountperyear=4000000; //THIS IS THE ONLY NUMBER TO EDIT EACH YEAR

  var msperyear=31536000000; //milliseconds per year

  var today=new Date();
  var startdate=new Date(today.getYear(),0,00);  //January 1, of the current year at midnight?
  var diff=Math.ceil((today.getTime()-startdate.getTime())); //Time difference in milliseconds
  var newvalue=(diff*(amountperyear/msperyear)); // (# of ms) * (amount/ms)
  var displayvalue=newvalue.toLocaleString(); //Convert to currency formatting
  $("#mycounter").html("$"+displayvalue);
  setTimeout('countit()',500); //Have it update twice per second
}

</script>

在DNN HTML模块的“内容”部分中:

<center>
This year, we've saved our customers:
<b><div id="mycounter"><i>Loading...</i></div></b>
</center>

<小时/> 新问题:
此脚本仅适用于Internet Explorer。在Chrome和Firefox中,结果超过了十亿。我不太确定是什么导致了这个问题,但我认为它可能与日期数学或.toLocaleString()有关吗?以前可能遇到过这个问题的人?任何见解或链接将不胜感激!就目前而言,我只是在一些有条件的评论中,但这不能永久修复!

<![if !IE]>You must use IE to view this<![endif]-->

1 个答案:

答案 0 :(得分:2)

在本地硬盘上创建一个HTML文件并将其放入其中。然后在Web浏览器中打开它。它将开始递增一个数字。您正在寻找的内容在DNN中不存在,但可以使用一些简单的Javascript来完成。这应该可以帮到你。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">

var count=5;

$(document).ready(function(){

setTimeout('countit()',1000);

});



function countit()
{
  var startmoney = 10;

  var today=new Date();
  var startdate=new Date(2010, 10, 01);  //this is actually 11-1-2010 the 10 is 0 based so actually month 11
  var one_day=1000*60*60*24;
  var diff=Math.ceil((today.getTime()-startdate.getTime())/(one_day));
       //diff is the main factor which is the difference in days between startdate & today

   count=count*2;
   var newvalue=startmoney*count*diff;

  $("#mycounter").html(newvalue);

   setTimeout('countit()',1000);
}

</script>
</head>
<body
<div id="mycounter"></div>
</body>
</html>