Javascript计时器

时间:2010-09-27 10:49:48

标签: c# javascript asp.net asp.net-ajax

我有一组对象,每个对象都跟踪一些字符串。 这些对象在页面加载时创建并存储在对象数组中。 我在ascx文件中有四个用户控件,一次显示特定对象的字符串。

此外,我在同一个ascx文件中有一个播放按钮,默认设置为播放。 当我加载ascx时,它会显示特定对象中的第一组字符串。 并且在5秒的时间间隔之后,iy应该在下一个对象中显示第二组字符串。当按下播放按钮时,它也应该进入暂停状态。

任何人都可以开始实现这一要求。我的代码隐藏文件是C#

2 个答案:

答案 0 :(得分:0)

刚才意识到你可能希望通过前端JavaScript按照你的问题标题来实现这个目标吗?在这种情况下,您将需要setInterval函数以及DOM中可用的数据数组。

假设您的按钮是

<asp:ImageButton src="source.jpg" class="btnPlay" alt="Play" />

您的JavaScript(使用jQuery)可能符合以下几行:

$(function() {
    $('.btnPlay').click(function() {
         $(this).toggleClass('btnPause');
         if($(this).hasClass('btnPause') {
               yourHandlerID = setInterval ("yourHandler()", 5000 );
         } else {
                clearInterval (yourHandlerID);
         }
    });
}); 

您也可以通过使用计时器类的C#代码执行此操作,例如: http://www.csharphelp.com/2006/02/c-timer-demo/

每次定时器触发您定义的事件处理程序时,您都可以重复数组,显示您想要的内容。

切换暂停按钮只是停止计时器。

Microsoft参考: http://msdn.microsoft.com/en-us/library/system.timers.timer(VS.71).aspx

答案 1 :(得分:0)

从根本上说,您需要ASCX控件的“幻灯片放映”。一种常见的方法是让所有ASCX都可见,然后使用Javascript和CSS一次显示一个。

Google for'html css javascript slideshow'。

http://www.catswhocode.com/blog/top-10-javascript-slideshows-carousels-and-sliders