分类 网页与编程 中的文章

让 FireFox 支持 innerText

  1. function isIE() { //ie? 
  2.     if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= 1) { 
  3.         return true
  4.     } else { 
  5.         return false
  6.     } 
  7.  
  8. if(!isIE()) { //firefox innerText define 
  9.     HTMLElement.prototype.__defineGetter__("innerText",function(){ 
  10.         var anyString = ""
  11.         var childS = this.childNodes; 
  12.         for(var i=0; i < childS.length; i++) { 
  13.             if(childS[i].nodeType==1) { 
  14.                 //anyString += childS[i].tagName=="BR" ? "\n" : childS[i].innerText; 
  15.                 anyString += childS[i].innerText; 
  16.             } else if(childS[i].nodeType==3) { 
  17.                 anyString += childS[i].nodeValue; 
  18.             } 
  19.         } 
  20.         return anyString; 
  21.     }); 
  22.     HTMLElement.prototype.__defineSetter__("innerText",function(sText){ 
  23.         this.textContent=sText; 
  24.     }); 
Pader 2009-8-13 0

博客程序升级

今日花点时间把升级到了 Sablog-x 2.0 一个最新的版本,特发此文,以示纪念.

近期,配合主站的样式,我将会制作一款 Sax2.0 的模板,计划中.

Pader 2009-8-11 0

解决php类继承关键性问题

这段时间一直被 PHP 的类的属性的方法的继承而困扰,VgotFaster 的开发也因这个问题被卡住了,这两天放下了 VgotFaster 框架的开发在做自己的个人主页的页面,估计 VgotFaster  不会马上出来了,我就随便写一个主页的简单的 PHP 对象来作为主页主站的框架了,结果写着写着也就不那么简单了,完全就是一个框架了,晕呼,我怎么搞的到处都是面向对象和框架啊,不过在视图对控制器的属性和方法访问时也就是类的属性和方法继承时还是碰到这个问题,今晚不知为何心平气也和,终于把这个问题给搞定,让视图可以直接访问控制器的属性和方法了,这次主页的框架写的没有 VgotFaster 那么强的自定义和功能,但是却解决了关键性问题,所以 VgotFaster 得重构了,汗呀,第一个版本还没出来就重来了。继续等待吧。

关于这个框架已经抛弃了对 PHP4 的支持,下面发上主页小框架解决关键性问题的 PHP5 的 __get 和 __call 魔术方法吧。

PHP代码片段

/*  
    关键性控制器属性获取  
    @ create 0:29 2009-7-29  
*/  
public function __get($kName)   
{   
    if(isset($this->V->controller->$kName)) {   
        return $this->V->controller->$kName;   
    } else {   
        return $this->V->$kName;   
    }   
}   
  
/*  
    关键性控制器方法调用  
    @ create 1:05 2009-7-29  
    @ update 1:22 2009-7-29  
*/  
public function __call($kName,$kValues)   
{   
    if($kValues) {   
        $vCounts = count($kValues);   
        $argEval = '';   
        for($i=0;$i<$vCounts;$i++) {   
            $argEval .= ',$kValues['.$i.']';   
        }   
        $argEval = substr($argEval,1);   
        eval('$a = $this->V->controller->$kName('.$argEval.');');   
        return $a;   
    } else {   
        return $this->V->controller->$kName();   
    }   
}


Pader 2009-7-29 2

新首页页面制作完成

把上次做的效果图给做了出来

查看:http://www.vgot.net/new_vgot/

Pader 2009-7-26 0

CSS 内部居中浮动实现(float center)

我们都知道及float:left; 和 float:right;,但是否想过 float:center; 呢?

看下面这段代码:

<div class="fpage">
    <ul>
        <li>列表一</li>
        <li>列表二</li>
        <li>列表三</li>
    </ul>
</div>

我们想让 .fpage 内的 li 的整个区域浮动居中显示,这里面的 li 数量未知,ul 的宽度也是未知。当然我们可以让给 .fpage 一个 text-align:center; 但这并不是我们的初衷,很多时候我们必须得使用浮动。
这里我们得先重温一下 position:relative; 它将依据 left, right, top, bottom 等属性在正常文档流中偏移位置。那我们可以让 ul 为position:relative;left:50%,然后再让 li 向左浮动,在让它 position:relative;right:50%(或者left:-50%),那么 li 就有了我们想要的居中浮动效果啦!

CSS:

.fpage {
    position:relative;
    width:100%;
    height:80px;
    background-color:#eee;
    text-align:center;
    overflow:hidden;
}
.fpage ul {
    float:left;
    position:relative;
    left:50%;
    list-style:none;
}
.fpage ul li {
    position:relative;
    right:50%;
    float:left;
    margin:10px;
    padding:0 10px;
    border:solid 1px #000;
    line-height:60px;
}

下载这个实例:[attach=160]

Pader 2009-7-24 0