Skip to content

月份:2008年3月

大量ICON图标下载网站汇总

图标文件是我们经常用到的一种小图片,它可以美化你的系统,也是网站或博客设计中不可缺少的一种元素,尤其在web2.0盛行的今天。但由于尺寸较 小、象素要求较高、文件格式特殊而使一些非专业人士制作起来相当费时费力,且不容易达到需求的效果。今天,秦爱为大家准备了大量的icon图标,供你免费 下载,其中有专门的ICON图标搜索引擎,也有大量的专业ICON图标下载网站,还有几个在线制作工具。

2个图标搜索引擎

iconfinder 提供的图标搜索比较有特色,提供128×128的大图预览,也可以直接下载。它还提供标签云,你可以直接从标签中直接查找相关图标文件。个人感觉,图标可以少了些,也可能我搜得比较偏吧。

iconlet 也是一款专门的图标搜索引擎,没有大图显示,没有标签云,完全一个垂直的搜索引擎。相比iconfinder而言,它的搜索结果要丰富许多,提供的图标尺寸大多是16×16像素的。

36个ICON图标下载网站

我就不一一介绍了,这些网站大体提供了免费和收费两种,我这里只列出他们免费的地址,你可以点开后看图下载。

Leave a Comment

再次修改FCKeditor

    这几天帖代码的时候发现先前添加的语法高亮插件在输入代码时不能输入TAB键, 今天抽个时间改了一下代码, 其实也比较简单, 就是处理一下onkeydown事件就可以了.

[javascript]

function codingKeyDown( event, obj ) {

// Process Tab key

var tabKeyCode = 9;

var keycode = event.keyCode;

if (keycode == tabKeyCode) {

if (obj.setSelectionRange) {

// mozilla

var s = obj.selectionStart;

var e = obj.selectionEnd;

obj.value = obj.value.substring(0, s) + "\t" + obj.value.substr(e);

obj.setSelectionRange(s + 1, s + 1);

obj.focus();

} else if (obj.createTextRange) {

// ie

document.selection.createRange().text="\t"

event.returnValue = false;

} else {

// unsupported browsers

}

if (event.preventDefault) // dom

event.preventDefault();

return false; // should work in all browsers

}

// Process Ctrl+A key for select all code

if ( event.ctrlKey && event.keyCode == 65 || event.keyCode == 97 ) {

document.getElementById("code").select();

return;

}

}[/javascript]

 

3 Comments

最近爱上看JavaScript了,呵呵

    可能是修改FCKeditor的原因吧, 在深入研究一些JavaScript后对它比较感兴趣. 最近也在看JavaScript的书,在 网上找了一本叫<<JavaScript高级编程>>(英文名:<<Professional JavaScript for Web Developers>>)的书. 结果看上瘾了, 发现电子书只有前六章, 竟然去书城买了一本书回来.

    个人觉得这本书不错, 讲得比较全面. 从语法到对象, 从定义对象到继承. 还讲到DOM(文档对象模型)/BOM(浏览器对象模型), 还有正则表达式和一些高级应用. 我现在才看到第5章.

  以前看到一些JavaScript的代码, 总看不惜语法, 像这样的代码:

[javascript]

var MyvNet = {

"Name": "Kend";

"URL": "http://MyvNet.com";

};[/javascript]

3 Comments

修改BLOG时学到的DOM2

  Ajax里也用到很多DOM技术,这里放另外一个DEMO,是公司里一个ERP项目要做的一个工序流程图要用的一点演示。

[javascript]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> DOMDocument 对象示例2 </TITLE>

<style type="text/css">

<!–

.JobFlow {

width: 102px;

position: relative;

// background-color: #00CCFF;

padding: 1px;

float: left;

}

.JobStep {

// background-color: #00FF99;

height: 100px;

width: 100px;

margin: 1px;

}

–>

</style>

<script language="javascript">

<!–

// XML 原形

var str = "<?xml version=’1.0′?><TS>" +

"<TT><TD>Kend</TD><TD>Programmer</TD></TT>" +

"<TT><TD>小明</TD><TD>技术员</TD></TT></TS>";

// 创建DOM对象并加载XML

var dom = new ActiveXObject("MSXML2.DOMDocument");

dom.loadXML(str);

// 获取DOM里顶层数据行数

var cols = dom.getElementsByTagName("TT").length;

// 动态产生表格并显示

function makeTable(){

var html = "";

// 获取DOM里顶层数据列表

var TTs = dom.getElementsByTagName("TT");

for (var i=0; i<TTs.length; i++)

{

// 获取DOM里第二层数据列表

var TDs = TTs.item(i).getElementsByTagName("TD");

html += "<div class=\"JobFlow\">";

for (var j=0; j<TDs.length; j++)

{

html += "<div class=\"JobStep\"><input size=’10’ type=’text’ onChange=’saveValue(" + i + "," + j + ", this.value);’ value=’" + TDs[j].text + "’ /><BR />ROW:" + i + "|COL" + j +

"|<a href=’JavaScript:insertAt(" + i + "," + j + ");’>Ins</a></div>";

}

html += "</div>";

}

// 显示XML代码

document.getElementById("src").innerHTML = "<textarea style=’width:100%; height=100;’>" + dom.xml + "</textarea>";

// 显示HTML代码

document.getElementById("htmlsrc").innerHTML = "<textarea style=’width:100%; height=100;’>" + html + "</textarea>";

// 显示表格

document.getElementById("tt").innerHTML = html;

}

// 创建一个顶层数据

function makeCol() {

var TT = dom.createElement("TT");

var TD1 = dom.createElement("TD");

TD1.text = cols;

TT.appendChild(TD1);

return TT;

}

// 创建一个第二层数据

function makeNode() {

var TD = dom.createElement("TD");

TD.text = cols;

return TD;

}

// 创建一个顶层数据并加到表格最后

function appendCol() {

cols++;

var TS = dom.getElementsByTagName("TS").item(0);

TS.appendChild(makeCol());

makeTable();

}

// 创建一个顶层数据并插入到表格相应地方

function insertAt(x, y) {

cols++;

var TTs = dom.getElementsByTagName("TT");

var TT = TTs.item(x);

TT.insertBefore(makeNode(), TT.childNodes[y]);

makeTable();

}

// 保存表格上修改的数据

function saveValue(x, y, value) {

if (x<0||y<0)

return;

var TTs = dom.getElementsByTagName("TT");

if (x>=TTs.length)

return;

if (y>=TTs.item(x).childNodes.length)

return;

TTs.item(x).childNodes[y].text = value;

// 显示XML代码

document.getElementById("src").innerHTML = "<textarea style=’width:100%; height=100;’>" + dom.xml + "</textarea>";

}

–>

</script>

</HEAD>

<BODY>

<div style="height:30;">This page demo2 how to using DOMDocument</div>

<div style="height:30;">This demo for Job flow in an ERP project</div>

<table border="1" align="center"><tr><td>

<div id="tt" style="border:1; background-color:#00ccee;;">Dynamic Face</div>

</td></tr></table>

<div>XML Data</div>

<div id="src" style="width:100%;"></div>

<div>HTML source</div>

<div id="htmlsrc" style="width:100%;"></div>

<input type="button" onClick="makeTable()" value="Make Table" /><input type="button" onClick="appendCol()" value="Append Col" />

</BODY>

</HTML>

[/javascript]

 

Leave a Comment

修改BLOG时学到的DOM

  这段时间一起在研究FCKeditor插件的开发,其中学到不少DOM(Document Object Model,文档对象模型)的技术。这里放一个DEMO代码,演示如何用DOM保存数据并在网页里动态显示。

   注明一下,这里的代码只支持IE,FF的兼容代码没写,懒嘛,嘿嘿。。

[javascript]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> DOMDocument 对象示例 </TITLE>

<script language="javascript">

<!–

// XML 原形

var str = "<?xml version=’1.0′?><TS>" +

"<TT><TD>Kend</TD><TD>Programmer</TD></TT>" +

"<TT><TD>张三</TD><TD>程序员</TD></TT>" +

"<TT><TD>李四</TD><TD>文员</TD></TT>" +

"<TT><TD>小明</TD><TD>技术员</TD></TT></TS>";

// 创建DOM对象并加载XML

var dom = new ActiveXObject("MSXML2.DOMDocument");

dom.loadXML(str);

// 获取DOM里顶层数据行数

var rows = dom.getElementsByTagName("TT").length;

// 动态产生表格并显示

function makeTable(){

var html = "<TABLE border=’1′>";

// 获取DOM里顶层数据列表

var TTs = dom.getElementsByTagName("TT");

for (var i=0; i<TTs.length; i++)

{

// 获取DOM里第二层数据列表

var TDs = TTs.item(i).getElementsByTagName("TD");

html += "<TR>";

for (var j=0; j<TDs.length; j++)

{

html += "<TD><input type=’text’ onChange=’saveValue(" + i + "," + j + ", this.value);’ value=’" + TDs[j].text + "’ />|ROW:" + i + "|COL" + j +

"|<a href=’JavaScript:insertAt(" + i + "," + j + ");’>Ins</a></TD>";

}

html += "</TR>";

}

html += "</TABLE>";

// 显示XML代码

document.getElementById("src").innerHTML = "<textarea style=’width:100%; height=100;’>" + dom.xml + "</textarea>";

// 显示表格

document.getElementById("tt").innerHTML = html;

}

// 创建一个顶层数据

function makeRow() {

var TT = dom.createElement("TT");

var TD1 = dom.createElement("TD");

var TD2 = dom.createElement("TD");

TD1.text = rows + "-1";

TD2.text = rows + "-2";

TT.appendChild(TD1);

TT.appendChild(TD2);

return TT;

}

// 创建一个顶层数据并加到表格最后

function appendRow() {

rows++;

var TS = dom.getElementsByTagName("TS").item(0);

TS.appendChild(makeRow());

makeTable();

}

// 创建一个顶层数据并插入到表格相应地方

function insertAt(x, y) {

rows++;

var TS = dom.selectSingleNode("//TS");

TS.insertBefore(makeRow(), TS.childNodes[x]);

makeTable();

}

// 保存表格上修改的数据

function saveValue(x, y, value) {

if (x<0||y<0)

return;

var TTs = dom.getElementsByTagName("TT");

if (x>=TTs.length)

return;

if (y>=TTs.item(x).childNodes.length)

return;

TTs.item(x).childNodes[y].text = value;

// 显示XML代码

document.getElementById("src").innerHTML = "<textarea style=’width:100%; height=100;’>" + dom.xml + "</textarea>";

}

–>

</script>

</HEAD>

<BODY>

<div style="height:30;">This page demo how to using DOMDocument</div>

<div id="tt" style="border:1; background-color:#00ccee; width:100%; height:200;">Dynamic Face</div>

<div>XML Data</div>

<div id="src" style="width:100%;"></div>

<input type="button" onClick="makeTable()" value="Make Table" /><input type="button" onClick="appendRow()" value="Append Row" />

</BODY>

</HTML>

[/javascript]

 

Leave a Comment

代码语法高亮终于上来啦

这两个星期有点空,就再研究了一下语法高亮的问题,找了一下FCKeditor官方网站,发现2.5.1稳定版已经出来了,首先替换掉旧的2.0。呵呵,我喜欢使用新版。

先是IE:

1、遗留的问题:隐藏的源码和格式化后的代码有会有问题。

经上次研究的结果,两处的代码有可能不对,主要是HTML的特别代码,像代码里有标签<div>,JavaScript代码里有&alt等。这里的解决方法很简单:只要替换一下就可以了,不过要注意,在进行格式化之前就进行替换。因为隐藏的代码也是要替换的,最后取的时候也要替换回去,但是要反顺序。代码如下:

[javascript]

.replace(/&/g, "&amp;")

.replace(/</g, "&lt;")

.replace(/>/g,’&gt;’);

[/javascript]

Leave a Comment