旧的结束新的开始

团队为了参加微软创新杯比赛,选择留校开发一款创新型游戏软件。面对详细设计阶段的挑战,团队成员克服困难,不断学习新技术。

      倾听窗外的爆竹声声
      品味内心的忧伤淡淡


      自从懂得了思考人生,每一个春节,就开始变得惊人的相似。走亲戚、访

朋友、陪父母、看春晚、放鞭炮、吃饺子,可是再多的温馨再多的热闹,都难

以摸去心中那淡淡的忧伤。

      一向自诩哲人的我告诉自己,这就是所谓的成长的烦恼。所以每当新年的

钟声敲响,我就站到楼顶,用脸颊迎接凛冽的寒风,用双眼眺望遥远的焰火,

然后抖擞抖擞精神,大声的告诉自己:“新的一年来了,把过去的失意都忘掉

,新的一年,我会作的更好!”剩下的,便是满心希望的等待新年的曙光。 
   
      可是2005年的春节偏偏与过去不同。

      这次,为了抓紧时间准备微软创新杯比赛,我留在了学校。因为我心里清

楚,对于我们学生来说,假期是最宝贵最值得利用的时间。而作为开发小组的

队长,我更不能带头往家里跑。更重要的是,我们是一个几乎对大型软件的开

发没有任何经验的队伍,因此作为队长的我,就需要努力去了解更多的知识,

毕竟,把握一个软件的开发方向和流程,是一件不容小觑的事情,不能让四个

人几个星期的努力,因为我的某个小小的失误而化为泡影。

      所谓“书到用时方恨少”。以前总是想,毕竟是大三的人了,况且从初中

就开始接触计算机这一行当,虽说离IT人这个称号还有很大的距离,不过说自

己半只脚已经迈进来,应该也不为过。然而真正让自己动手来开发个即有创新

意义又有实践意义的软件,还真有点丈二和尚摸不着头脑。有个队员问:“体

系结构设计好了,然后该作什么了呢?”答曰:“详细设计。”再问:“那我

们怎么来详细设计呢?”我茫然…………

      大概听老人们说过,过了一年,人生就过了一道坎,可是这次,我们却被

详细设计这道坎卡在了2006年的正月里。其实,如果是写个管理系统之类的东

东,那我们大可以依葫芦画瓢来搞定,可是我们几个“好高骛远”的家伙偏偏

选择了去挑战以前很少接触过的游戏开发。本来开始时,我们跑图书馆,书城

,上网,也算积攒了不少可供参考的资料,觉得有了这些东西,作起来问题不

大。可是谁让微软那个搞的叫什么创新杯呢,光参考不行,还要创新!创新来

,创新去,需求分析完了,我仔细一看,这简直是个游戏引擎!!!

      当然,对于一个类似于游戏引擎的东西,需要考虑的变量和接口就十分的

复杂,所用到的技术也相当的多,而且我们还要设计出个与众不同的东西,可

供参考的资料又少了很多,这样一来,详细设计可就真是难上加难了。

      有时候实在想的郁闷了,我真想对着他们大吼,“为什么当初你们不听我

的!!!去作那个…………”

      可是看看我的队友们,并没有要放弃的意思。毕竟是我们自己选择了这个

项目,而且为了这个项目,都没有舍得抽空回家过年,如果现在就这么推翻重

来的话,任谁也难以甘心。干脆把心一横,反正这些技术,以后毕业了,早晚

都要派上用场,不如一个一个的啃下来!

      年轻不就是用来学习的么?年轻最大的优势不就是可以从错误中汲取经验

和教训么!呵呵~~

      明天就是正月十五了,站在阳台上仰望那马上就要变圆的月亮,想想我的

大学生活也像它一样,就要结束旧的轮回,我再一次去品味生活带给我的孤独

感。

      “男人因为孤独而优秀”一位同学如是说。(大概是因为我们都是光棍,

才都欣赏这句话吧,^_^)

      的确,这个冬天的孤独,让我静下新来,仔细思考了我的过去、现在和未

来。

      已经不记得是从哪里看来的一句话了,“其实世界上只有两种人,一种人

创造故事,另一种人看故事。”在过去的生活中,对于那些计算机的门外汗来

说,我可以充当前者,而对于那些真正的高手来说,我只有甘当后者。而现在

,我第一次清楚的看到了自己,清楚的看到了自己所处的行业,清楚的看到了

未来路上的艰辛。

      API,DirectX编程,算法设计,从我们眼前的这个项目开始。补强英语,

跟上技术前沿,读懂管理,从整体素质着手。程序员,软件设计师,项目经理

…………直到行业的决策者,这条未来的道路,也逐渐的展现在我的面前。

      月亮已经渐渐下沉,心中的曙光已经等不及和太阳一起升起了,从大学的

最后一年开始,努力塑造一个新的自己………………

<think>嗯,用户想用DHTML实现开始时间结束时间的选择功能。首先,我需要回想一下DHTML相关的知识。DHTML主要是结合HTML、CSS和JavaScript来创建动态网页。用户提到的开始结束时间选择,可能类似于日历或时间选择器组件。 根据提供的引用,特别是引用[5]提到了DHTML通过DOM操作来改变内容,所以应该使用HTML元素结合JavaScript来实现。可能需要用到<input>元素,比如datetime-local类型,这样用户可以直接选择日期和时间。不过,兼容性可能有问题,特别是版浏览器可能不支持,但现代浏览器应该没问题。 另外,引用[2]和[3]提到dhtmlx-gantt的使用,这个库可能有内置的时间选择功能。用户如果已经在使用dhtmlx-gantt,可能需要查阅它的API,看看是否有设置开始结束时间的方法。比如引用[3]中的代码示例展示了如何添加日历和合并,可能相关的配置可以用来设置时间范围。 不过用户的问题可能更偏向于基础的DHTML实现,而不是使用特定库。所以基础步骤应该是:创建HTML输入元素,用JavaScript监听变化,然后处理时间数据。例如,使用两个<input type="datetime-local">别作为开始结束时间,然后通过JavaScript获取它们的值。 另外,引用[5]还提到了DOM操作,所以可能需要动态创建这些元素,或者根据用户的选择更新页面内容。比如,当用户选择开始时间后,结束时间不能早于开始时间,这时候需要用JavaScript来添加验证逻辑。 需要注意的是,如果用户需要更复杂的界面,比如甘特图中的拖拽调整时间,可能需要更复杂的JavaScript代码或使用现有的库,如dhtmlx-gantt,如引用[4]提到的拖拽功能。但根据问题描述,用户可能只需要基本的时间选择,所以用原生HTML和JavaScript实现即可。 总结一下,步骤应该是:创建输入元素,添加事件监听,处理时间数据,可能的验证逻辑。如果需要更高级的功能,推荐使用现有的库,比如dhtmlx的组件,这样可以节省开发时间。</think>### DHTML实现时间选择功能的实现方法 #### 基础实现方案(原生HTML+JavaScript) 1. **使用原生时间输入控件** 通过HTML5的`datetime-local`类型输入框实现基础时间选择: ```html <label>开始时间:</label> <input type="datetime-local" id="startTime"> <label>结束时间:</label> <input type="datetime-local" id="endTime"> <script> document.getElementById('startTime').addEventListener('change', function(e) { console.log('开始时间:', e.target.value); }); document.getElementById('endTime').addEventListener('change', function(e) { console.log('结束时间:', e.target.value); }); </script> ``` 2. **时间范围验证** 添加禁止结束时间早于开始时间的逻辑: ```javascript const startInput = document.getElementById('startTime'); const endInput = document.getElementById('endTime'); startInput.addEventListener('change', () => { endInput.min = startInput.value; // 设置最小可选时间 }); endInput.addEventListener('change', () => { if (new Date(endInput.value) < new Date(startInput.value)) { alert("结束时间不能早于开始时间"); endInput.value = ''; } }); ``` #### 进阶方案(使用dhtmlx组件) 若需要甘特图等专业时间管理功能,推荐使用`dhtmlx-gantt`组件[^2][^4]: ```javascript // 初始化甘特图 gantt.config.xml_date = "%Y-%m-%d %H:%i"; gantt.init("gantt_container"); // 创建任务时设置时间 gantt.addTask({ id: 1, text: "项目任务", start_date: "2023-08-01 09:00", end_date: "2023-08-05 18:00" }); // 监听时间修改事件 gantt.attachEvent("onTaskChanged", function(id, task){ console.log("修改后时间:", task.start_date, "至", task.end_date); }); ``` #### 关键知识点 1. DOM操作通过`document.getElementById`获取元素对象[^5] 2. 输入事件监听使用`addEventListener`绑定change事件 3. dhtmlx组件通过`addTask`和事件监听实现时间管理[^3][^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值