EonerCMS——做一个仿桌面系统的CMS(五)

简介:

 这次主要讲一下js模板和鼠标右键功能,东西比较简单,我就没有做demo,简单说下原理吧。

js模板

  为什么要使用js模板?因为在这个系统里,我经常要打开一个或多个窗口,但实际上这些窗口的HTML代码都是一样的,只是其中的参数稍微有点变化。既然如此,何不写成模板,把参数定义成指定格式的标签,然后用正则批量替换,生成真正的HTML代码,再插入页面中。这样不仅阅读方便,而且修改也方面。

  说改就改,改之前我考虑了另一个问题,就是要不要使用网上现有的js模板引擎,这方面因为之前完全没了解过,所以搜了几个,有的似乎很有名,比如JST,但也非常大,所以我没有考虑;有的很小,也就是一些JSer自己写的插件,我担心会有BUG,所以也没考虑。最终我打算自己写,因为我不需要ajax--json--dom这么一个流程,所以,我就找了一个替换模板参数的方法,虽然不是我写的,但是很好用,来看一下吧:

var  FormatModel = function (str,model){
     for ( var  k in  model){
         var  re = new  RegExp( "{" +k+ "}" , "g" );
         str = str.replace(re,model[k]);
     }
     return  str;
}

  要怎么用呢,其实很简单,看下for循环里面的操作就清楚了,str是传入的模板,model是个key--value数组,看下具体用法吧:

//图标模板
var  shortcutTemp = '<li style="left:{left}px;top:{top}px" title="{title}" shortcut="{shortcut}"><img src="{imgsrc}"><span>{title}</span><em></em></li>' ;
_cache.shortcutTemp = { "top" :_top, "left" :_left, "title" :shortcut[sc][1], "shortcut" :shortcut[sc][0], "imgsrc" :shortcut[sc][2]};
$(ul).append(FormatModel(shortcutTemp,_cache.shortcutTemp));

  shortcutTemp是图标模板,其中需要替换参数的书写格式是{...},_cache.shortcutTem就是那个参数数组了,这个方法我建议大家可以收藏一下,挺好用的。最终替换后输出就是这个样子了:

< li  shortcut="0" title="小睿的博客" style="left:20px;top:20px;">
     < img  src="img/shortcut/news.png">
     < span >小睿的博客</ span >
     < em ></ em >
</ li >

  下面说下鼠标右键,这个功能其实是必不可少的。可能大部分人知道网页上点击鼠标右键都是弹出浏览器设定的工具条,所以一般没人会点。但是我记得之前看到过一句话,就是“一个好的产品,就是能让用户在使用的过程中,突然说出:‘我靠,居然还有这功能’。那么,这个产品就成功了”,所以,关于右键,这个功能必不可少,哪怕就一两个地方能用上。

鼠标右键

  这快没有太大难点,简单给段代码自己去尝试下吧:

//绑定任务栏点击事件
$( '.task-window li' ).live( 'contextmenu' , function (e){
     //展示自定义右键菜单
     Core.taskwindowrightmenu($( this ));
     //屏蔽浏览器自带右键菜单
     return  false ;
});

  右键点击我

  下面我补充一张图,就是前几天发的一篇文章《一款腾讯UED设计的提示插件(使用教程)》,感觉调用方便,效果也不错,就直接拿来用了,直接看图吧

  因为是在iframe里调用,所以要在调用方法前加上“window.parent”,也就是这样:

window.parent.ZENG.msgbox.show( "设置成功!" , 4, 2000);

  OK,内容说完了,今天是国庆,所以祝大家国庆快乐,玩的开心。像我这种没什么活动,工作能力又不是很强的,只能趁大家都休息的时候偷偷学学,努力赶超,想必应该也有一群和我一样处境的人吧,相信总有一天我们的能力会得到大部分人认可的。

  不说了,忙了一晚上,也该休息下了,打dota去了<( ̄︶ ̄)>





   本文转自胡尐睿丶博客园博客,原文链接:http://www.cnblogs.com/hooray/archive/2011/10/01/2197797.html,如需转载请自行联系原作者



相关文章
|
26天前
|
域名解析 前端开发 搜索推荐
什么叫CMS?如何使用CMS来制作网站?
PageAdmin CMS,是一套开发了17年,官网还持续在更新和维护的网站内容管理系统,对于领开发的用户来说,对于有网站优化的用户来说,PageAdmin CMS就能帮助我们快速搭建属于自己的个性网站或企业网站。
|
6月前
|
CDN SEO
2024苹果cms MXoneV10 10.8版本模板分享
2024苹果cms MXoneV10 10.8版本模板分享
80 2
2024苹果cms MXoneV10 10.8版本模板分享
|
6月前
|
PHP
HuoCMS|免费开源可商用CMS建站系统HuoCMS 2.0下载(thinkphp内核)
HuoCMS|免费开源可商用CMS建站系统HuoCMS 2.0下载(thinkphp内核)
164 2
|
开发工具
介绍几款WAP网页制作工具(提供下载)
  1、WAPtor      说明:   WAPtor 是一款非常简单易于使用的WML 编辑器,虽然它没有摆脱代码格式的束缚,但比过去的HTML 代码简单的多。即使你不记得WML语言的标签和属性,也能利用WAPtor制作出非常出色的WML网页,WAPtor能让你随时预览WML页面的效果,十分方便。 WAPtor适合初学WML网页的人使用,强力推荐。   &gt;&gt; waptor
1266 0
|
前端开发 开发者 数据库
对比开源cms三巨头Joomla wordpress drupal哪个才是真正的王者
但凡接触过互联网的人,大都知道网页和博客,或许您也非常希望能有一个属于自己的网页或者博客。当前,也有各式各样的程序代码可以让你创建一个网站或者博客,我们现在更多的把他们称之为CMS(内容管理系统)。如果您在互联网上搜索一下,估计自己也会非常迷糊到底该采用哪种程序,在您开始之前,无妨一读下面的内容。