随笔分类 - HoorayOS
摘要:首先说明,上面图片和文章无关,只是我随便弄的一张配图,因为我刚才在想4个DIV能不能摆成那种造型,当然最终是以失败告终。 恢复正题,这次更新变动不大,增加了一个效果和一个方法,也发现了一个bug,但还没有解决。 一、图标窗口移动动画 这个不用介绍太多,自己试下就知道了,演示地址:http://saw.caifutang.com/eonercms 当我们改变浏览器大小的时候,图标以及打开的窗口会以动画的效果移动。 二、刷新桌面 这个功能是考虑到以后做CMS里栏目模块权限设置上的问题,因为一个图标就是一个功能模块,有的需要开启,有的则不需要,当原先某个模块默认是开启,设置成关闭后,...
阅读全文
摘要:因为工作上的一些缘故,这个私人的小东西需要暂停开发,要等到明年再继续开动了。 这段时间我进行了一些小部分的更新,下面稍微记录下。 一、每个图标从原先js数组统一换成json数组 数据格式如下:{"data":[ {"id":0,"iconName":"小睿的博客","iconUrl":"img/shortcut/news.png","url":"http://www.cnblogs.com/hooray","width&quo
阅读全文
摘要:终于可以拿出来给大家测试了,测试地址http://saw.caifutang.com/EonerCMS,东西就不用再介绍了吧,之前做过一个简单的介绍视频,这次再拿出来晒下,就当作作品介绍吧。 开发记录: 关于CMS后台展示/操作方式的个人拙见——最早的一个想法,当时仅仅有这个想法,但未开动 EonerCMS——做一个仿桌面系统的CMS(一)——开篇,因为我是个行动派,所以马上就开动了,后来想了想,应该会遇到很多问题,于是就打算把问题都记录下来。于是第一篇博文算是引言了 EonerCMS——做一个仿桌面系统的CMS(二)——因为界面是仿新版115应用中心的,所以做起来速度还算OK。本...
阅读全文
摘要:智能修改窗口的位置 在测试的时候,我发现调整浏览器尺寸后,原先靠近浏览器边缘的窗口就直接被隐藏掉了,如下图: 出现这问题的原因也很简单,因为窗口的top、left的值是写死的,当浏览器的宽高小于窗口top、left时,必然会被隐藏掉。解决办法就是在调整浏览器尺寸的同时,把窗口的top、left也一起修改,但是具体要修改成多少呢? 经过自己的考虑和他人的指点,最终的解决办法就是按比例修改,也就是按当时窗口离左/右、上/下的距离与整个窗口大小的比例进行缩放,说的可能有点迷糊,不如看下修改公式吧: top = 浏览器缩放前窗口上边距 / ( 浏览器缩放前高度 - 浏览器缩放前窗口高度 ) *...
阅读全文
摘要:事件冒泡 事件冒泡是个很常见的问题,不过我之前没听说过,所以这里只是做个笔记,如果了解事件冒泡,并清楚如何处理的,可以直接跳过这篇文章。下面我们看下这面这demo,点击红色区域,会弹出1,点击灰色,会弹出2。alert(2);alert(1); $("#div1").click(function(){ alert(1); }); $("#div2").click(function(){ alert(2); }); 处理办法其实很简单,有两种,一种就是“e.stopPropagation();”,另外一种就是“return false;”。alert(2)
阅读全文
摘要:这次主要讲一下js模板和鼠标右键功能,东西比较简单,我就没有做demo,简单说下原理吧。js模板 为什么要使用js模板?因为在这个系统里,我经常要打开一个或多个窗口,但实际上这些窗口的HTML代码都是一样的,只是其中的参数稍微有点变化。既然如此,何不写成模板,把参数定义成指定格式的标签,然后用正则批量替换,生成真正的HTML代码,再插入页面中。这样不仅阅读方便,而且修改也方面。 说改就改,改之前我考虑了另一个问题,就是要不要使用网上现有的js模板引擎,这方面因为之前完全没了解过,所以搜了几个,有的似乎很有名,比如JST,但也非常大,所以我没有考虑;有的很小,也就是一些JSer自己写的插...
阅读全文
摘要:按住我拖动 一晃又过去一个多星期了,途中出了个差,进度上略有耽误,不过还好,上次有个话题没说完,这次继续,就是窗口拖动以及改变窗口尺寸。窗口拖动&改变窗口尺寸 因为这功能可能很多人都做过,所以我只是提供一种我的方法,当然如果有考虑不全的地方,希望大家能提出来,因为拖动层的功能我是第一次做,没太多经验,也请教了很多人。接下来就先看demo吧: HTML代码如下:<div id="movedemo"> <div class="titledemo">按住我拖动</div> <div style="po
阅读全文
摘要:转眼似乎半个多月过去了,最近忙了点其他的事,所以这个CMS做的进度也慢了,不过昨天和今天稍微加了点班,把最大的一块制作OK了,也就是下面我要说的——窗口 先看下窗口大致构成图吧: 窗口很简单,顶部的标题区域、中间的展示区域和底部的功能区域。首先,窗口肯定是通过图标点击后才生成的,也就是窗口不是事先加载并隐藏好,是点击某个图标后再通过jquery写入到页面里来,那我们要做的就是给图标绑定一个创建窗口的事件,我们看下代码://创建窗体Core.create = function(obj){ var sc = obj.attr('shortcut'); var window_warp
阅读全文
摘要:上一周我说到,我要开始做一个仿桌面系统的CMS。现在,一周过去了,来做个小小的总结吧,顺便把上一周片尾留的小问题解答下。桌面 关于界面,思前想后,还是模仿115的了,说是模仿,其实几乎是照搬。因为我看了下HTML和CSS,没有什么太大的技术含量,制作起来也不会遇到什么困难,干脆舍弃这一步,进入后面的话题。 上周我留下了一个问题,就是桌面那一个个快捷方式,为什么不能直接写在页面里,而要通过js来加载。其实,并非一定要通过js加载生成,但是即便写在页面里,也还是通过js来定位,对,就是定位。试想一下,浏览器的窗口有大有小,如果直接写在页面里固定死,那窗口缩小了,岂不是要把有的图标给遮住了。...
阅读全文
摘要:开篇 一个月前,我突然有了个想法,CMS能否做的像webQQ那样,整个后台就像一个桌面系统,把功能归类到一个桌面图标里,点开某个图标后,操作里面的东西,就像在操作电脑上的某个文件夹一样简便,于是我之前写了一篇构想的文章:《关于CMS后台展示/操作方式的个人拙见》,不过认可我想法的人似乎不多。 当时发表完文章后,我也在想,这样的方式是否真的适用于CMS,我和几个同事,以及公司老总都讨论过。有人也提到开发成本的问题,我说这个不是问题,现在不用公司花人力去专门开发,我先做个雏形,把一些调用方法都封装好,比如窗口操作(最大化、最小化、关闭)、右键操作等一些公用的操作,写成一个类,之后如果可行,再继..
阅读全文