我有一组对象,每个对象都跟踪一些字符串。 这些对象在页面加载时创建并存储在对象数组中。 我在ascx文件中有四个用户控件,一次显示特定对象的字符串。
此外,我在同一个ascx文件中有一个播放按钮,默认设置为播放。 当我加载ascx时,它会显示特定对象中的第一组字符串。 并且在5秒的时间间隔之后,iy应该在下一个对象中显示第二组字符串。当按下播放按钮时,它也应该进入暂停状态。
任何人都可以开始实现这一要求。我的代码隐藏文件是C#
答案 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