27
2008.10
一般如果想页面居中,在body上设置样式:
body{background:#D2D460;text-align:center;}再加一个div标签元素设置样式:
div{width:778px;margin:0 auto;background:#fff;text-align:left;}其实html也是一个标签元素,也可以给它设置CSS样式,那么可以把上面CSS代码改成:
html{background:#D2D460;text-align:center;}body{width:778px;margin:0 auto;background:#fff;text-align:left;}这样也完全可以居中,而不用再在div上设置居中的样式了,这样可以更加有效率地使用页面标签元素。按照这种方法推演下去,还能够给html标签元素增加边框还有背景图片,就像使用div标签元素一样使用html标签元素如下:
html{border:5px solid #436BAD;background:#D2D460;text-align:center;}body{width:778px;margin:0 auto;border:5px solid #F9F9E9;background:#fff;text-align:left;}另外head标签元素也是可以设置CSS样式的,只是它内部的元素是始终不显示的,但是在一些游览器中head标签元素是可以设置高度的。你可以在火狐和opera看下下面的代码:
html{border:5px solid #436BAD;background:#D2D460;text-align:center;}body{width:778px;margin:0 auto;border:5px solid #F9F9E9;background:#fff;text-align:left;}head{display:block;height:400px;}
19
2008.10
今天在写一个CSS代码时,background的背景图片已经设置了,但在页面上就是看不到,图片路径都是对的,查了半天,在firebug中却看到元素的background背景图片被设置成了“none”。原来在设置元素背景图片的CSS代码下面又写了一句:
#header{background:#1F223D;}我用了background的简写,如果只写背景颜色的话,那么这行代码就会默认设置背景图片为“none”,就会把以前设置的图片背景屏蔽掉,故而看不到背景图片。如果想看到背景图片的话应改成这样:
#header{background-color:#1F223D;}这样就只会修改颜色而不会对背景图片产生影响了。以前写代码经常好用简写,看来有时候简写也是不能乱用的。
2
2008.9
《JavaScript Dom编程艺术》中有不少可以经常用在工作中的代码,抄一份放在这里以备不时之需。
隔行改变背景function stripeTables(){
if(!document.getElementsByTagName)return false;
var tables=document.getElementsByTagName('table');
for(var i=0;i<tables.length;i++){
var odd=false;
var rows=tables[i].getElementsByTagName("tr");
for(var j=0;j<row.length;j++){
if(odd==true){
rows[j].className='odd';
odd=false;
}else{
odd=true;
}
}
}
}
当前页面的标识function highlightPage(){
if(!document.getElementsByTagName)return false;
if(!document.getElementById)return false;
if(!document.getElementById('navigation'))return false;
var nav=document.getElementById('navigation');
var links=nav.getElementsByTagName('a');
for(var i=0;i<links.length;i++){
var linkurl=links[i].getAttribute('href');
var currenturl=document.location.href;
if(currenturl.indexOf(linkurl)!=-1){
links[i].className="here";
var linktext=link[i].lastChild.nodeValue.toLowerCase();
document.body.setAttribute('id',linktext);
}
}
}
function stripeTables(){
if(!document.getElementsByTagName)return false;
var tables=document.getElementsByTagName('table');
for(var i=0;i<tables.length;i++){
var odd=false;
var rows=tables[i].getElementsByTagName("tr");
for(var j=0;j<row.length;j++){
if(odd==true){
rows[j].className='odd';
odd=false;
}else{
odd=true;
}
}
}
}当前页面的标识function highlightPage(){
if(!document.getElementsByTagName)return false;
if(!document.getElementById)return false;
if(!document.getElementById('navigation'))return false;
var nav=document.getElementById('navigation');
var links=nav.getElementsByTagName('a');
for(var i=0;i<links.length;i++){
var linkurl=links[i].getAttribute('href');
var currenturl=document.location.href;
if(currenturl.indexOf(linkurl)!=-1){
links[i].className="here";
var linktext=link[i].lastChild.nodeValue.toLowerCase();
document.body.setAttribute('id',linktext);
}
}
}
function highlightPage(){
if(!document.getElementsByTagName)return false;
if(!document.getElementById)return false;
if(!document.getElementById('navigation'))return false;
var nav=document.getElementById('navigation');
var links=nav.getElementsByTagName('a');
for(var i=0;i<links.length;i++){
var linkurl=links[i].getAttribute('href');
var currenturl=document.location.href;
if(currenturl.indexOf(linkurl)!=-1){
links[i].className="here";
var linktext=link[i].lastChild.nodeValue.toLowerCase();
document.body.setAttribute('id',linktext);
}
}
}
25
2008.8
今天想用JS的replace的方法来把字符串“0-395-07122-4”中所有的“-”都去掉,用了下面的代码:
var isbn="0-395-07122-4";
isbn=isbn.replace(/-/,'');结果发现只替换了第一个“-”,其它的都还在!查了下《征服AJAX》才发现,replace就是这个功能。
replace(searchValue,replaceValue)的方法
该方法将字符串中第一个出现的searchValue子字符串替换成replaceValue,并返回新的字符串,而原有的字符串不受影响。如:
var str1="aaaa";
var str2=str1.replace("a","b");
alert(str2);
alert(str1);其中str1仍然是“aaaa”,而str2则为“baaa”。由上面代码可知,这样使用replace仅能替换一个实例。如果想替换多个实例则需要用到正则表达式,例如:
str.replace(/a/g,'b');这样就能将“aaaa”全部替换成“bbbb”。




