深夜了,还在写tab切换的核心类,很想把timer集成进去,却不行。
/**
* @author edwardpro@hellodigi.com
* @copyright hellodigi.com 2007~2008
* @projectDescription provide with you a tabs changes function
*/
var tabCore=function(tabs,tabsItem){
this._tabs=$(tabs);
this._timeout=0;//默认是0
this._curitem=0;// current item means who is the current object.
this._timer;
this._tabsitemObj=$(tabs).getElementsBySelector(tabsItem);
this.dochange=function(){}
this.enabletimer=function(){
this._timer=setInterval(this.dochange,this._timeout);
};
this.disabletimer=function(){
clearInterval(this._timer);
}
this.getcurObj=function(){
this._curitem=(this._curitem+1)%this._tabsitemObj.size();
//alert(this._curitem);
return this._tabsitemObj[this._curitem];
}; //单体执行ok
}
tabCore.prototype.addListen=function(dofunc,eventname){
//添加tab事件到主函数
for(var i=0;i<this._tabsitemObj.size();i++){
Event.observe(this._tabsitemObj[i], eventname, function(event) {
var elt = Event.element(event);
if(elt.tagName == "A"){
dofunc(elt);
}
});
}
}
tabCore.prototype.setdochange=function(dofunc){
this.dochange=function(){
this._curitem=(this._curitem+1)%this._tabsitemObj.size();
dofunc(this._tabsitemObj[this._curitem]); //调用之后却告诉我没有这个属性
};
}
tabCore.prototype.setTimer=function(timeout,func){
if(timeout){
this._timeout=timeout;
}else{
this._timeout=0;
}
this.setdochange(func);
this._timer=setInterval(this.dochange,this._timeout);
}
tabCore.prototype.test=function(){
alert(this._tabsitemObj.size());
}
看来和js的类核心有关,他的timer应该是只能接收类似静态函数的东西,唯一解释就是那个类当时并没有初始化,所以得不到属性值。不知道是方法问题还是什么。实现了半天实现了一个人家也做了的功能貌似还没有别人好用郁闷啊!!!
分享到:
相关推荐
- GAE的Task Queue有执行次数限制和执行时间的限制,超过这些限制可能会导致任务丢失或失败,因此在设计定时任务时需考虑这些限制。 - 考虑到GAE的无状态特性,任务处理逻辑应尽可能避免依赖实例状态,以免重启或...
在实际项目中,这样的工具或应用可以作为系统维护或自动化任务的一部分。 在提供的压缩包文件"PowerTimer"中,很可能包含了这个项目的源代码,包括UI设计、事件处理和API调用的实现。对于学习者来说,通过阅读和...
timer.Tick += new EventHandler(timer_Tick); timer.Start(); } private void timer_Tick(object sender, EventArgs e) { lblCurrentTime.Text = DateTime.Now.ToString("HH:mm:ss"); // 更新时间显示 } } ...
C#是一种面向对象的、类型安全的、现代化的编程语言,由微软公司开发,广泛应用于Windows平台上的应用开发,包括桌面应用程序、Web应用程序以及游戏开发等。 首先,要实现定时打开程序的功能,我们需要了解C#中的...
在IT领域,创建一个控制台应用程序来定时执行命令访问网页是一项常见的需求,特别是在自动化测试、数据抓取或者定期检查网站状态等场景下。这个任务可以通过编程语言如C#、Java或Python来实现,这里我们将主要以C#为...
Console.WriteLine("关机失败,请检查权限或系统状态"); } } ``` 4. **注意事项**: - 执行关机和重启操作通常需要管理员权限,因此,确保运行程序时拥有足够的权限。 - 使用定时器时,要防止因程序异常或其他...
此外,为了使自动化过程更加智能和灵活,我们还可以添加错误处理机制,如重试逻辑、异常捕获等,确保在网页元素未找到或点击失败时能够适当恢复。同时,可以考虑将多个按钮的点击操作封装成一个函数或类,方便重复...
4. **错误处理**:处理可能发生的错误情况,例如I2C通信失败或RTC设备不可访问。 #### 五、I2C总线读写 I2C总线是一种简单的双向二线制串行总线,广泛应用于低速短距离通信场景中。在RTC驱动程序中,需要实现I2C...
public class MyMailService : ServiceBase { public MyMailService() { this.ServiceName = "MyMailService"; } protected override void OnStart(string[] args) { // 在这里实现服务启动时的逻辑,如初始...
TForm1 = class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation ...
验证码验证是防止自动化机器人或恶意攻击的一种有效手段。常见的验证码类型有图片验证码、滑动验证码等。在H5注册页面,一般使用短信验证码,用户输入手机号后,系统向该号码发送一条包含验证码的短信。用户收到...
class CameraOpener : public QObject { Q_OBJECT public: explicit CameraOpener(QObject *parent = nullptr) : QObject(parent) {} private slots: void openCamera() { // HObject camera, image; // ...
在IT行业中,SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,它基于SSH(Secure Shell)协议,用于在...通过选择合适的SFTP库和编写恰当的服务代码,你可以创建一个高效、可靠的文件自动化传输系统。
var timer: Timer? // 定时器 override func viewDidLoad() { super.viewDidLoad() // 加载广告数据 // 初始化广告轮播视图并添加到控制器的视图上 // 设置手势识别器和定时器 } // 处理手势滑动事件 ...
在这个游戏中,玩家控制一个平台,通过反射原理使小球在屏幕上弹跳,避免小球触碰屏幕底部而失败。这个小游戏展示了Java在游戏开发中的基本应用,是初学者学习Java GUI编程和游戏逻辑的好例子。 在Java中,GUI...
- **异常处理**:增加更全面的异常处理机制,比如邮件发送失败时进行重试或记录日志等。 - **性能优化**:对于大量邮件发送场景,可以考虑采用异步发送机制或者分布式任务队列,提高系统的并发处理能力。 #### 五、...
首先,我们需要理解C#的基础知识,如类(Class)、对象(Object)、事件(Event)以及多线程(Multithreading)。闹钟应用的核心是能够设定时间并按时触发事件。这通常涉及到对DateTime和TimeSpan结构的理解,它们...
2. **项目初始化**:使用Android Studio创建一个新的Android项目,并配置必要的权限和依赖库。 3. **游戏界面设计**:使用XML布局文件设计游戏的主要界面,包括游戏区域、计时器、开始按钮等元素。 4. **编写核心...
在MFC(Microsoft Foundation Class)库中,状态栏(StatusBar)是一种常见的用户界面元素,用于显示应用程序的状态信息或提供快捷操作提示。本教程将详细讲解如何在MFC应用中添加状态栏并实现实时显示时间的功能,...
- **初始化**:`NetComm_Init()` 方法用于初始化网络连接。如果连接失败(即 `net_state` 设置为 0),则不会启动定时器。 - **数据通信**:`NetComm_Data()` 方法负责发送数据并通过网络读取响应。 - **异常处理**...