Posted
一月 5th, 2009 归属于
前端技术
看到朋友逍遥老鬼说到了这个地方,就顺带着写了一段给他。
作用是,一个文本框,需要输入内容,在没有输入的时候里面有一段提示内容,当点击这个文本框输入的时候,文本框内的内容自动消失。
function addLoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oladonload();
func();
}
}
}
function checkText(){
var textId = document.getElementById('test');
var textDefault = '请输入字符';
function cls(){
if (this.value == textDefault){
this.value = '';
}
}
function res(){
if (this.value == ''){
this.value = textDefault;
}
}
textId.onfocus = cls;
textId.onblur = res;
}
addLoadEvent (checkText); |
<input type="text" value="请输入字符" id="test" /> |
原文链接|
Posted
十二月 25th, 2008 归属于
前端技术
这段时间一直都在为网站架构的事情所烦恼,前端,程序,服务器三个方面应该如何协调才能达到一个较为优化的网站架构呢?根据前辈的经验,我总结了以下文档,特分享。
1. UIC需要做的
采用Css Sprite将背景图片,图标图片集成在一张图片内。
优点:减少用户代理对服务器的请求次数;加快用户载入页面时间。
Css && Js 统一使用YUIcompressor进行代码压缩处理。
优点:加快服务器结束线程的时间;加快用户载入页面时间。
单个数据对象小于25K。
优点:部分用户代理(如iphone),无法载入25K以上的数据对象。
外部广告图片,宣传图片尽量防止在本站图片缓存服务器上。
优点:减少用户的DNS查询,加快页面载入速度。
色彩不超过256色的图片,不采用JPG格式存储。
优点:减少文件大小,加快页面载入速度。
使用PNG8格式的PNG图片代替Gif格式图片。
优点:具备比Gif更高的压缩比,有利于网络传塑,加快页面载入速度。
JPG图片采用interlaced模式存储。
优点:色彩复杂的图片大小更小,可让图片呈渐进状态显示,直至清晰。增强用户体验。
2. UI 需要做的
设计稿图片尽量减少一些渐变效果的使用
优点:减少JPG图片的数量,加快用户载入页面时间。
3. 开发需要做的
如果出现Ajax 方式,采用Ajax缓存
可考虑
4. SA 需要做的
负载均衡
优点:减小Web服务器压力。
Gzip压缩输出
优点:减小输出的用户数据大小,加快页面载入时间。
图片与Web服务器分离
优点:减小Web服务器压力。
增加Squid缓存
优点:避免2次刷新带来的重复请求。减少服务器压力。
架构SVN测试服务器并与公网服务器的同步
优点:避免公网页面出现错误,增强用户体验。
原文链接|
Posted
十二月 24th, 2008 归属于
前端技术
这几天正在为压缩代码的事情所困扰,大家也可以看见,我的博客顶端有两个在线的压缩工具,但在实际应用过程中,除了CSS的压缩比较满意外,JS的压缩,很是不爽,如果语法有问题的话(比如缺少”;”),就会出现无法预知的错误。
不过让人欣慰的是,Yahoo!给我们带来了YUI compressor!,呵呵,废话少说,赶紧体验。
YUI compressor的下载地址是:http://developer.yahoo.com/yui/compressor/
淘宝做了一个可视化的版本,叫做TBCompressor,可以到这里下载:http://lifesinger.org/blog/?p=464
谢谢岁月老大!
如果你没有安装JAVA环境的话,还需要安装一下JDK
下载地址是:http://java.sun.com/javase/downloads/index.jsp 我们选择(Java SE Development Kit (JDK) 6 Update 11)这个下载。
下载,安装,一路Next,没有任何问题,对了,你可以修改一下路径。
安装完毕以后,需要配置一下JAVA_HOME环境变量。
配置方法如下。
1、点击我的电脑—>属相—>高级—>环境变量—>系统变量
2、新建变量,变量名JAVA_HOME 路径:E:\Program Files\Java\jdk1.6.0_11 (我的是在E盘,你的JDK安装到那个盘,就写那个盘)
3、找到path变量,在后面添加路径:;%JAVA_HOME%\jre6\bin
OK,一路确定,关闭窗口。
打开CMD,输入java -version
看看能不能出来版本?
java version “1.6.0_11″
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
OK,我的没有问题了,呵呵,现在,我们测试一下,看看他的压缩效果。
我们就压缩一个Dreamweaver自带的“AC_RunActiveContent.js”脚本文件。
下图中,左侧的是原始文件,右侧的是压缩后的文件。

呵呵,接近50%的压缩比,不错了!另外,就目前测试的情况来看,非常完美,不会出现在线压缩工具经常出现的“语法错误”了。
原文链接|
Posted
十一月 30th, 2008 归属于
前端技术

Demo地址:http://www.zhangjingwei.com/demo/jQuery.Select/index.html
原文链接|
Posted
七月 23rd, 2008 归属于
前端技术
首先我们构建页面的结构,在这里我建立了三个不同的容器,第一个容器内是文字,第二个是图片,第三个是表单。由于在页面制作过程中,我们经常会遇到表单,图片,文字混排的情况,所以我在这些容器的上方故意放置一些输入框,图片和选者框进行测试。(由于IE6在处理选择框的z-index层次的时候存在bug,因此我们使用它。)
<input style="background:blue; border:1px solid #000;" maxlength="134217727" size="20" type="text" />
<div class="tipBox">
<div id="tips0" class="tips"><span>点击查看原图</span></div>
<div class="onTips">鼠标移动到此上显示提示文字</div>
</div>
<img src="tip_bulb.gif" alt="" width="100" height="25" />
<div class="tipBox">
<div id="tips1" class="tips"><span>点击这里查看更大的图片</span></div>
<div class="onTips"><img src="tip_bulb.gif" alt="" width="100" /></div>
</div>
<select><option selected="65535" value="1">abc</option></select>
<div class="tipBox">
<div id="tips2" class="tips"><span>WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW</span>< ![endif]--></div>
<div class="onTips">
<input style="background:red; border:1px solid #000;" maxlength="134217727" size="20" type="text" /></div>
</div> |
接下来,我们书写样式表,这里需要注意的是.tips iframe中的属性全部是必须的,缺一不可。display:block及滤镜在这里是均是为处理ie6下的差异。
/* Tips */
.tipBox {
position:relative; /* 设置气泡提示为相对定位已保证气泡层准确的游动在文字上方 */
cursor:pointer;
}
.tips {
background:url(tip_bulb.gif) no-repeat; /* 背景采用滑动门的方式,以无限扩展 */
width:auto; /* 宽度自动 */
height:25px;
position:absolute; /* 设置气泡提示层为绝对定位 */
top:-26px;
left:-4px;
display:none; /* 默认设置隐藏 */
z-index:10; /* 由于气泡提示可能会遇到ie6下select的bug,故设置他的z-index为10,用以解决这个问题 */
}
.tips:not(iced) {
top:-23px; /* 矫正firefox下气泡提示层的距离 */
}
.tips iframe
{
position:absolute;
top:0;
left:0;
z-index:-1;
filter:mask(); /* 使用遮罩滤镜,这是必须的 */
display:block; /* 默认设置隐藏 */
}
.tips span {
background:url(tip_bg.gif) right top no-repeat; /* 气泡内的元素的容器,设置背景用以和该容器的父容器结合 */
max-width:725px; /* 设置最大宽度为725像素,only firefox */
overflow:hidden;
height:25px;
display:inline-block; /* 将其已块级元素的方式内敛传递 */
margin-left:20px;
padding-right:8px;
font:12px/23px Arial, Helvetica, sans-serif;
white-space:nowrap; /* 不允许折行 */
} |
我使用了JQuery框架,如果您原生js或者其他框架,思路是一致的
$(document).ready(function(){
$(".tipBox").mouseover(function(){
var tipNum = $(this).children(".tips").attr("id"); /* 取得当前的id */
$("#"+tipNum).show(); /* 我本来使用setTimeout控制了一个延迟,但这个效果在ie6下由于个人技术问题出现了问题,只好改用简单“显示、隐藏”,真是一个遗憾 */
});
$(".tipBox").mouseout(function(){
var tipNum = $(this).children(".tips").attr("id");
clearTimeout(this.timeout);
$("#"+tipNum).hide()
});
}); |
原文链接|