`
kangqii
  • 浏览: 11229 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类

[原创][开源]发布一个用javascript开发的任务管理组件 v0.03 (20100710)

阅读更多

JS任务开发脚本 v0.03 (20100710)
需要jquery支持 用到的版本是jquery-1.4.2.js
更新日志:
0.01 建立了基本任务模型
0.02 改进了任务管理,扩展任务属性,优化多任务处理
0.03 支持动态修改任务,添加任务执行命令
说明:适用于各种定时任务应用,请注重劳动成果!保留说明文字,以便获得技术支持。
作者:康乐
发布与下载地址:www.javacs.cn中国java工作者

脚本开放,兼容FF/IE,难免有不足之处,希望在大家的帮助下改进和完善它。
欢迎参与此兴趣小组!你可以到 中国java工作者家园 【群组】找到【javascript兴趣小组】欢迎加入:
http://www.javacs.cn/home/space-mtag-tagid-3.html
一个很小的功能但非常实用,在B/S开发过程中会经常用上。
附件中包含:
naozhong.html (测试用)这个界面很粗糙
jquery-1.4.2.js
Multi-task.js
下载地址:http://www.javacs.cn/bbs/thread-300-1-1.html

/*!
任务开发脚本 v0.03 (20100710)
更新日志:
0.01 建立了基本任务模型
0.02 改进了任务管理,扩展任务属性,优化多任务处理
0.03 支持动态修改任务,添加任务执行命令
说明:适用于各种定时任务应用,请注重劳动成果!保留说明文字,以便获得技术支持。
作者:康乐
发布:[url=http://www.javacs.cn]www.javacs.cn[/url] 中国java工作者
*/
var AlarmTimeSet=new Date();
var Atimes =new Array(); 
//任务数据类
function kllz(a,b,c,d,e,f,g){ 
this.Aid=a;//编号
this.Atime=b;//时间
this.Atext=c;//提示内容
this.Amusic=d;//音乐
this.Aphoto=e;//图像
this.Ais=f;//是否提示
this.Acmd=g;//执行命令
}

//生成GUID
kllz.newGuid=function(){ 
    var guid = ""; 
    for (var i = 1; i <= 32; i++){ 
        var n = Math.floor(Math.random()*16.0).toString(16); 
        guid += n; 
        if((i==8)||(i==12)||(i==16)||(i==20)) 
            guid += ""; 
    } 
    return guid; 
} 

//按index删除元素
Array.prototype.remove=function(dx)
  {
    if(isNaN(dx)||dx>this.length){return false;}
    for(var i=0,n=0;i<this.length;i++)
    {
        if(this[i]!=this[dx])
        {
            this[n++]=this[i]
        }
    }
    this.length-=1
  }
//添加任务
kllz.addAtime =function()
{
        //if(Atimes.length!=0)
        //Atimes+={false};
        var AlarmTime=new Date(AlarmTimeSet.getFullYear(),AlarmTimeSet.getMonth()+1,AlarmTimeSet.getDate(),$("#H").val(),$("#M").val(),$("#S").val());
        var Aist=($('#Ais').attr('checked')) ? true : false;
        var lz  = new kllz(kllz.newGuid(),AlarmTime,$("#SMS").val(),$("#MUSIC").val(),$("#PHOTO").val(),Aist); 
        lz.Acmd=function(){
                kllz.gxAtimes();
                };
    Atimes.push(lz);
        $('#Ais').removeAttr("checked");
        var i=Atimes.length;
        var n=lz.Atime;
        $('#t').prepend("<li id=\"time_"+lz.Aid+"\">第" + i + "个任务: " +n.getFullYear()+"-"+n.getMonth()+"-"+n.getDate()+"  "+ n.getHours()+"-"+n.getMinutes()+"-"+n.getSeconds() +"\t提示内容:"+lz.Atext+"\t提示音乐:"+lz.Amusic+"\t提示图片:"+lz.Aphoto+"\t是否提示:"+lz.Ais+"<button onClick=\"kllz.delAtimeAid('"+lz.Aid+"')\">删除</button><button onClick=\"kllz.updAtimeAid('"+lz.Aid+"')\">修改</button>");
        //gxAtimes();
        AlarmClock();
}
//根据index删除任务元素
kllz.delAtime=function (i)
{
        if(Atimes.length>0)
    Atimes.remove(i);
        $('#time_'+i).remove();
        //gxAtimes();
}
//修改指定任务
kllz.updAtimeAid=function(Aid)
{
        var AlarmTime=new Date(AlarmTimeSet.getFullYear(),AlarmTimeSet.getMonth()+1,AlarmTimeSet.getDate(),$("#H").val(),$("#M").val(),$("#S").val());
        var Aist=($('#Ais').attr('checked')) ? true : false;
        var lz  = new kllz(Aid,AlarmTime,$("#SMS").val(),$("#MUSIC").val(),$("#PHOTO").val(),Aist); 
        
        //var ts =kllz.selAtimeAid(Aid);
        //$.each(Atimes,ts,true);
        
        if(Atimes.length>0)
        {
                $.each( Atimes, function(j, m){
                var i=Atimes.length;
        var n=lz.Atime;
                if(m.Aid==Aid)
                {
                         Atimes[j]=lz;
                         $('#time_'+lz.Aid).html("第" + i + "个任务: " +n.getFullYear()+"-"+n.getMonth()+"-"+n.getDate()+"  "+ n.getHours()+"-"+n.getMinutes()+"-"+n.getSeconds() +"\t提示内容:"+lz.Atext+"\t提示音乐:"+lz.Amusic+"\t提示图片:"+lz.Aphoto+"\t是否提示:"+lz.Ais+"<button onClick=\"kllz.delAtimeAid('"+lz.Aid+"')\">删除</button><button onClick=\"kllz.updAtimeAid('"+lz.Aid+"')\">修改</button>");
        
                }
                
                if(j>=Atimes.length-1)return null;
                });
        }
}
//根据Aid返回 任务元素
 kllz.selAtimeAid=function (idt)
 {
         $('#time_'+idt).remove();
        if(Atimes.length>0)
        {
                $.each( Atimes, function(j, m){
                if(m.Aid==idt)
                {
                         return Atimes[j];
                }
                
                if(j>=Atimes.length-1)return null;
                });
        }
         
 }
//根据Aid删除任务元素
kllz.delAtimeAid=function (idt)
{
$('#time_'+idt).remove();
        if(Atimes.length>0)
        {
                $.each( Atimes, function(j, m){
                if(m.Aid==idt)
                {
                         Atimes.remove(j);
                }
                
                if(j>=Atimes.length-1)return;
                });
        }
        //gxAtimes();
}
//更新任务
kllz.gxAtimes=function ()
{
        $('#t').html("");
        $.each( Atimes, function(i, m){
        var n = m.Atime;
        $('#t').prepend("<li id=\"time_"+m.Aid+"\">第" + (i+1) + "个任务: " +n.getFullYear()+"-"+n.getMonth()+"-"+n.getDate()+"  "+ n.getHours()+"-"+n.getMinutes()+"-"+n.getSeconds() +"<button onClick=\"kllz.delAtimeAid('"+m.Aid+"')\">删除</button></li>");
        if(i==Atimes.length-1)return;
        });
}
//开启任务
AlarmClock=function ()
{  
  
  var TimeNowSet=new Date();
 $.each( Atimes, function(i, m){
  
 n=m.Atime;
  //$('#w').prepend("Item #" + i + ": " + n +"");
  //任务时间
  //var AlarmTime=new Date(AlarmTimeSet.getFullYear(),AlarmTimeSet.getMonth()+1,AlarmTimeSet.getDate(),H.value,M.value,S.value);
  var AlarmTime=n;
  //当前时间
  var TimeNow=new Date(TimeNowSet.getFullYear(),TimeNowSet.getMonth()+1,TimeNowSet.getDate(),TimeNowSet.getHours(),TimeNowSet.getMinutes(),TimeNowSet.getSeconds());
 $('#w').html(i+"当前时间: " +TimeNowSet.getFullYear()+"-"+TimeNowSet.getMonth()+"-"+TimeNowSet.getDate()+"  "+ TimeNow.getHours()+"-"+TimeNow.getMinutes()+"-"+TimeNow.getSeconds() +"");
  if(TimeNow.getTime() == AlarmTime.getTime())
  {//到时间时处理
  }else if(AlarmTime.getTime() < TimeNow.getTime()){
          //过时后处理
   var id="_old_"+kllz.newGuid();
      $('#time_'+m.Aid).html(" <b>时间到了</b>任务: " +n.getFullYear()+"-"+n.getMonth()+"-"+n.getDate()+"  "+ n.getHours()+"-"+n.getMinutes()+"-"+n.getSeconds() +"<button onClick=\"kllz.delAtimeAid('"+id+"')\">删除</button>"+""); 
           $('#time_'+i).attr("id",id);
             if(m.Ais)
            {
                      $('#q').prepend("<li>任务提醒:"+m.Atext+"\t播放音乐<embed width='5px' height='5px' autostart='true' src="+m.Amusic+">\t图像:<img src='"+m.Aphoto+"'/><b>时间到了</b>任务: " +n.getFullYear()+"-"+n.getMonth()+"-"+n.getDate()+"  "+ n.getHours()+"-"+n.getMinutes()+"-"+n.getSeconds() +"</li>"); 
            }
          Atimes.remove(i);
          if(m.Acmd)m.Acmd();//回调执行命令
  }  
  if(i>=Atimes.length-1)return false;
 
});
$('#cont').val(Atimes.length+"个活动的任务");
  setTimeout("AlarmClock()",1000);
}

 

 

分享到:
评论

相关推荐

    golang开发web应用示例(v0.03)

    标题“golang开发web应用示例(v0.03)”表明这是一个关于Go语言Web开发的实践项目,版本号为v0.03,可能意味着这是项目早期的一个迭代,包含了基本的功能和结构。在这个项目中,我们可以学习到如何从零开始构建一个...

    基于Django框架的开源任务管理平台源码

    项目概述:基于Python的Django框架开发的任务管理平台开源项目,融合了前端与后端的多种技术。该项目包含总共80个文件,其中主要编码语言为Python,同时涵盖了CSS、JavaScript和HTML等。文件类型分布如下:Python...

    Bit一个用JavaScript编写的代码组件管理器

    Bit 是一个强大的开源工具,它专为JavaScript开发者设计,用于管理和共享代码组件。这个工具的出现旨在解决大型项目中代码组织、重用和协作的问题,使得开发者能够更有效地构建和维护他们的代码库。 **一、Bit的...

    流布局服务用于开发前端微服务开源组件

    4. **实际项目实践**:通过创建一个简单的前端微服务项目,利用Tailor来部署和管理组件,以此来熟悉其工作流程。 5. **社区参与**:加入相关的开发者社区,参与讨论,解决遇到的问题,甚至可以贡献代码,以保持对...

    C#开发全套31个UI组件Winform 开源共享,winform第三方开源ui库,C#

    本资源就是一个专注于C# WinForm的开源UI组件集合,包含31个不同类型的UI组件,为开发者提供了更多设计和功能上的可能性。 首先,我们要理解什么是UI组件(User Interface Components)。UI组件是构成用户界面的...

    源自开源的甘特图组件jquery gantt 可拖拽

    jQuery Gantt是一款基于JavaScript库jQuery的开源甘特图组件,它允许开发者轻松地在网页上实现交互式的任务管理图表。 1. **jQuery Gantt组件介绍** jQuery Gantt是基于jQuery和HTML5的图表库,其设计目标是提供一...

    Python-Spug是一款使用PythonFlaskVueElement组件开发的开源运维管理系统

    Python-Spug是一个基于Python Flask框架,结合Vue.js和Element UI组件库构建的开源运维管理系统。该系统旨在为中小型企业提供一套完整的运维解决方案,实现对主机、任务、发布部署、配置文件、监控以及报警的高效...

    天生创想OA办公系统V2019开源版含CRM、项目管理、移动H5

    天生创想OA办公系统是一款基于PHP开发的开源企业级协同办公解决方案,V2019开源版更是集成了CRM(客户关系管理)、项目管理和移动H5功能,为企业提供了全面、灵活且高效的信息化管理工具。 首先,让我们深入了解OA...

    基于JavaScript核心技术的开源SaaS任务分配管理系统设计源码

    该项目是一款基于JavaScript核心技术的开源SaaS任务分配管理系统,源码包含727个文件,涵盖285个JavaScript文件、188个HTML文件、70个Python文件、65个CSS文件、22个PNG图片文件、16个SCSS文件、9个字体文件、8个...

    基于SSM框架的酒店管理系统的开源源码实现

    本项目是一个基于SSM(Spring、SpringMVC、MyBatis)框架的酒店管理系统,旨在为酒店行业提供便捷高效的在线预定管理服务。系统功能全面,分为管理员和用户两个角色: 管理员功能: - 客房管理:包括房态监控、房型...

    React Native 用JavaScript开发移动应用.pdf

    React Native 是一个由 Facebook 开发的开源移动应用框架,允许开发者使用 JavaScript 和 React 构建原生移动应用。React Native 不仅允许开发者为 iOS 和 Android 平台创建应用,还能共享大部分的代码基础,这对于...

    ReactNative用javascript开发移动应用.中文完整版.pdf

    React Native 是一个开源框架,由Facebook开发并维护,它允许开发者使用JavaScript来构建原生的移动应用程序。这个框架的核心理念是“Learn once, write anywhere”,意味着开发者可以使用相同的JavaScript和React...

    Winform开发全套31个UI组件开源共享]

    而标题中的“Winform开发全套31个UI组件开源共享”意味着有一套完整的、包含31个不同功能的用户界面组件,这些组件已经开源,可供开发者免费使用和学习。 这套开源UI组件库可能涵盖了常见的对话框、按钮、表格、...

    管理系统系列--Java开源工单管理系统,集成 Camunda &amp;&amp; vue-element-admin.zip

    【标题】中的“管理系统系列--Java开源工单管理系统”揭示了这是一个基于Java开发的系统,主要功能是管理和处理工作流程,而“集成 Camunda &amp;&amp; vue-element-admin”表明该系统结合了两个重要的技术组件:...

    基于.NET环境的开源JavaScript解析执行组件设计源码

    该开源项目是一款在.NET环境中运行的JavaScript解析执行组件,包含46个文件,其中包括24个C#源代码文件、5个资源文件、4个JavaScript文件、3个HTML文件以及相关配置和许可证文件。项目设计精良,旨在为开发者提供...

    JavaScript_一个免费的开源社区讨论平台.zip

    在JavaScript中,Node.js是一个用于服务器端的开发环境,它允许开发者使用JavaScript处理服务器任务,如HTTP请求、文件系统操作、流处理等。npm(Node Package Manager)是与Node.js配套的包管理器,拥有海量的第三...

    JustAuth第三方登录开源组件 v1.16.6.zip

    《JustAuth第三方登录开源组件 v1.16.6》是一个专为开发者设计的便捷工具,旨在简化应用程序中集成各种第三方登录服务的过程。这个组件的最新版本v1.16.6提供了丰富的功能和优化,使得开发人员可以快速地在他们的...

    一套开源免费的 Web UI 组件库,采用自身轻量级模块化规范,遵循原生态的 HTML/CSS/JavaScript 开发模式

    Layui 是一套开源免费的 Web UI 组件库,采用自身轻量级模块化规范,遵循原生态的 HTML/CSS/JavaScript 开发模式,极易上手,拿来即用。其风格简约轻盈,而内在雅致丰盈,甚至包括文档在内的每一处细节都经过精心...

    javascript实现的甘特图组件

    本篇将深入探讨如何使用JavaScript实现一个甘特图组件,以及其中涉及的关键知识点。 1. **基础概念** - **SVG图形绘制**:JavaScript甘特图通常基于SVG(Scalable Vector Graphics)绘制,因为SVG可以提供矢量图,...

    OpenSCA是一款开源的软件成分分析工具,用来扫描项目的第三方开源组件依赖及漏洞信息

    OpenSCA,全称为Open Source Component Analysis,是一款强大的开源软件成分分析工具,旨在帮助开发者识别并管理项目中的第三方开源组件,以及这些组件可能存在的安全漏洞。在软件开发过程中,使用开源组件可以极大...

Global site tag (gtag.js) - Google Analytics