伪类:first-letter可用于选择对象文本中的第一个字符。IE7,FF,opera,safari对该伪类支持得很好,但是IE6不支持该对象。不支持并不代表不能用~···这个世界上有太多太多针对IE的hack方法~···
使IE6支持:first-letter的方法如下:
select:first-letter {...}
即在选择符与样式花括号之间留出一空格即可,当然你要愿意多留几个也是可以的,但是不留IE6就不行了~···
伪类:first-letter可用于选择对象文本中的第一个字符。IE7,FF,opera,safari对该伪类支持得很好,但是IE6不支持该对象。不支持并不代表不能用~···这个世界上有太多太多针对IE的hack方法~···
使IE6支持:first-letter的方法如下:
select:first-letter {...}
即在选择符与样式花括号之间留出一空格即可,当然你要愿意多留几个也是可以的,但是不留IE6就不行了~···
好久好久没有写过什么东西,一来确实是年前这段时间很忙,天天都在码代码,尽管还是那么那么地菜,但是还是能感觉到一些小小地进步~···快过年了,周同学30号就回重庆,所以fanxue同学准备明天晚上先把年夜饭吃了~···很期待,不知道为什么,想去喝酒。发现自己现在越来越爱喝酒了,什么酒都喝,而且越喝越多,也没见醉过~···[han]
来广州整整一个月多了,每天都很机械地做着一些事情,空闲时间并不是很多,所以自己原来的一些打算执行的不是很好。而且还总会有很多抱怨,虽然没说出来,我也不清楚,是否会在这里一直待下去。有其他公司的面试通知,但是鉴于眼前如此凶险的行车状况,估计很难去那个遥远的北方城市了。毕竟现在还有工作做着,也还没真正毕业,所以很多事情多了很多选择的余地。心里还有有些小算盘打着的~···[haha]
这几天好冷啊,冷得全国铁路线都瘫痪了,据说广州火车站已滞留了好几十万乘客,而且还在疯狂的增加。幸好俺不需要北上,要不还不死悄悄的干活~来广州的时候,打电话给姐,她说她们穿T恤衬衣,于是乎,我就没带什么过冬防寒的衣服,可是这几天广州的最高气温也没有超过10度~···RP~···大半个中国都下雪了,我想即使全球人民再努力地植树造林10年,广州也是下不起雪的。在长沙的时候就盼着能下一场大雪,长沙倒是下大雪了,可是我也早不在长沙了~···还是个RP问题~···
我估计也会在3/4号去东莞,过年其实并没有什么意思,所以不打算在那边待多久,早点回来找点事情做也好。也就是过去和爸妈吃个年夜饭,然后再找几个亲戚吃吃饭喝喝酒,这就是过年了,没意思~···打算回去找我们家最能喝酒的四叔好好喝,让自己醉一回~···上次去东莞和四叔喝酒,喝啤酒,才喝一点,俺爸不让喝了,这回我埋单~···再说堂弟也过来了,更要好好喝喝~···
一直想发几张在这边的FB照片,可是fanxuan那天意外地将相机里的照片del掉了~···很想把那天在那个很“艺术”的照片下拍那张拿上来,可惜没机会了~···哈哈~···
好像是长胖了,自己看镜子都感觉胖了,应该是胖了~···不胖也怪,这边吃饭还算准时,吃的好,吃得多,天天睡到自然醒~···猪一样的自然会胖了~···不过过年嘛,要长点肉,看起来也喜庆一点~···有时间称称去~···哈哈~···
闪了,干活~···
不管是对象class属性的获取还是设置在IE和FF中皆是有所区别的。
IE中不管是使用HTML-DOM还是DOM-CORE,class属性的获取只能通过对象的className属性来完成。即只能通过obj.className,obj.setAttribute(className),obj.getAttribute(className)的方式完成。
FF中class属性的设置严格来说其实都是能够通过class和className来完成的,但是class属性并不能真正意义上的class属性的相关操作,即你通过class为对象设置class属性赋予样式,但这个样式并不会应用成功,同时你却又可以通过obj.class获取该class属性,所以此class非彼class。而要成功的完成对象class属性的设置FF中HTML-DOM和DOM-CORE是不尽相同的。FF中使用HTML-DOM方法时,只能通过className完成,与IE一致,但是使用DOM-CORE方式是却只能由class来完成。
这两天写了几行JS代码,感觉重用性比较高的几个发过来,以后用的时候也不用到处找了,以后会不断地发一些平时写的一些有用的代码,所以这是一,以后可能还有二,三~····
1,改变对象透明度
function setOpacity(obj,step,f,t){
var intervarId;
function addOpacity(){
if(!isIE){
if(obj.style.opacity >= 1){
obj.style.opacity = 1;
clearInterval(intervalId);
}
else{
obj.style.opacity = parseFloat(obj.style.opacity) + step;
}
}
else{
if(obj.filters.alpha.opacity >= 100){
obj.filters.alpha.opacity = 100;
clearInterval(intervalId);
}
else{
obj.filters.alpha.opacity = obj.filters.alpha.opacity + 200*step;
}
}
}
function minuOpacity(){
if(!isIE){
if(obj.style.opacity <= 0){
obj.style.opacity = 0;
clearInterval(intervalId);
obj.parentNode.removeChild(obj);
}
else{
obj.style.opacity = parseFloat(obj.style.opacity) - step;
}
}
else{
if(obj.filters.alpha.opacity <= 0){
obj.filters.alpha.opacity = 0;
clearInterval(intervalId);
obj.parentNode.removeChild(obj);
}
else{
obj.filters.alpha.opacity = obj.filters.alpha.opacity - 200*step;
}
}
}
if(f){
try{
clearInterval(intervalId);
}catch(e){}
intervalId = setInterval(addOpacity,t);
}
else{
intervalId = setInterval(minuOpacity,t);
}
return false;
}
参数介绍:
obj:要改变透明度的对象的id,暂时只支持通过id获取对象;
step:步长,及每次透明度的变化量,IE和FF稍有不同。IE中透明度的取值是0-100,FF中是0-1;
f:设置透明度是递增还是递减。非0为递增,0为递减;
t:透明度变化的时间间隔,单位毫秒;
但在对透明度进行递减,及f参数值为0时,当透明度低降至0是,对象将从dom删除。这个函数最先只考虑到FF中的效果,最后做IE兼容性的时候纯属打补丁,所以代码并不见得很好,能用就行。
注:使用该函数前,需先初始化对象的透明度。
2,通过class获取对象
function getObjectByClass(oWrapper,tagName,sName){ //根据class获取对象
var oClass = [];
var oTag = oWrapper.getElementsByTagName(tagName);
for(var i=0; i<oTag.length; i++){
var sClass = oTag[i].classNaa\me;
if(sClass == sName){
oClass.push(oTag[i]);
}
}
return oClass;
}
该函数用于获取某一对象在其同一级别具有相同class的元素中的索引值。
参数说明;
oWrapper:要获取对象的父级元素;
tagName;及tagName,元素标签名称;
sName;class属性值;
3,获取任意对象在其向同级对象中的索引
function getIndex(obj){
var tagName = obj.nodeName;
var oParent = obj.parentNode;
var tags = oParent.getElementsByTagName(tagName);
obj.setAttribute("id","crtTag");
for(var i=0; i<tags.length; i++){
if(tags[i].getAttribute("id") == "crtTag"){
tags[i].setAttribute("id","");
return i;
}
}
}
该函数用于获取某一对象在其同一级别对象相同元素中的索引值,这个函数在制作tab切换以及JS的图片轮换广告时尤其有用。
参数说明:
obj:要获取其索引的对象。
4,insertAfter函数
function insertAfter(newObj,obj){
if(obj == obj.parentNode.lastChild){
obj.parentNode.appendChild(newObj);
}
else{
obj.parentNode.insertBefore(newObj,obj.nextSibling);
}
}
JS中原本已有appendChild函数和insertBefore函数,但是有时使用起来还不够方便,再写个insertAfter函数,使用起来就得心应手了。
此函数用于在某一对象前插入一个新的对象。
参数说明:
newObj:要插入的新对象;
Obj:新对象插入何对象前。
暂写这四个,以后不断补充~···
刚从aw那看到IE6将退出历史舞台的消息,说实话,兴奋了一下。尽管目前的IE系列浏览器在我电脑中早已是名存实亡,但是由于工作或是学习的需要,还是一直装着,而且还是IE6,IE7一起装着,实属无奈。虽然IE7在性能上并不见得比IE6好,但是其对web标准的支持确实是大有改观的,修复了IE6的很多严重bug。
尽管如此,尽管MS说将在windows的更新的同时更新IE6,彻底淘汰掉IE6,但是对开发者来说IE6的退出可能还不会这么快。现在做web前端开发的同时还专为IE6-版本调试的人还是大有人在的~···况且国内如此多的window盗版,很多“聪明”的用户都关闭了系统的自动更新功能,据说是盗版window的更新可能导致系统的不稳定。连IE5都还没有死掉,IE6的彻底死亡自然也是不会这么快的。
IE6的退出自然值得兴奋,但更值得兴奋的恐怕是全新的IE8,IE8的开发团队认真接受IE7的反面意见,IE8将采用全新的渲染引擎,更好地支持CSS2.1。hasLayout这一IE独有的渲染概念,将在IE8中取消~···这意味着IE8将更接近firefox,近乎完美的支持Acid2,远比FF2优秀,对IE8的较量,我们只能进一步期待firefox 3。但是比较遗憾的是,至今仍没有一种浏览器对CSS3的完美支持,IE8更是只字未提。