藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年8月25日 8:28

求教這個JS效果

http://www.80t.net/old/

上面的圖片,鼠標放上去的效果如何實現?
謝謝!

title??

是那個邊緣出現紅色閃光的效果.JS的

那個不需要用js   用事件+鼠標動作 就能處理

那請問如何讓頁面上所有圖片全部加上這個效果哪?
而且圖片是動態發佈的

lianfei
大哥,幫幫忙好嗎謝謝你了


[code]
<public:component urn="com.rainersu.xshyborder">
<public:property name="step" value=12 />
<public:method name="doFade" />
<public:attach event="ondocumentready" onevent="doInit()" />
</public:component>
<script>

var col3,col1,col2,col;
var sid=element.uniqueID;
var oTimer;
var x,y,z,i;
var bend;

function isHex(_s){
    //return /^#(?:[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(_s);  - ie5.5+
    return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(_s);
}

function isRgb(_s){
    //return /^rgb\((?:\d,\d,\d|\d%,\d%,\d%)\)$/.test(_s);  - ie5.5+
    return /^rgb\((\d+,\d+,\d+|\d+%,\d+%,\d+%)\)$/i.test(_s);
}

function makeArray(_s){
    var col;
    if (isRgb(_s)){
        var s=_s.slice(4,_s.length-1);
        col=s.split(",");
        for (var i=0;i<3;i++){
            var n=col[i];
            if (n.charAt(n.length-1)=="%"){
                n=parseInt(n.replace("%",""),10);
                n=Math.round(n*255/100);
            }
            else n=parseInt(n);
            col[i]=n;
        }
    }
    else if (isHex(_s)){
        var s=_s.slice(1);
        if (s.length==3) s=s.charAt(0)+s.charAt(0)+s.charAt(1)+s.charAt(1)+s.charAt(2)+s.charAt(2);
        col=new Array(3);
        var m=0;
        for (var i=0;i<3;i++){
            col[i]=parseInt(s.substring(m,m+2),16);
            m=m+2;
        }
    }
    return col;
}

function doInit(){
    element.attachEvent("onmouseover",doOver);
    element.attachEvent("onmouseout",doOut);
}

function resetArray(_col){
    col=new Array();
    for (var _i=0;_i<_col.length;_i++) col[_i]=_col[_i];
}

function setColor(){
    element.style.borderColor="rgb("+col.toString()+")";
}

function beginFade(){
    var c1=element.currentStyle["color-start"];
    var c2=element.currentStyle["color-hover"];
    var c3=element.currentStyle["color-end"];
    if (c1==null) c1="#000000";
    if (c2==null) c2=c1;
    if (c3==null) c3=c1;
    col3=makeArray(c1);
    col1=makeArray(c2);
    col2=makeArray(c3);
    if (col1==null || col2==null) return;
    resetArray(col1);
    if (oTimer!=null) window.clearTimeout(oTimer);
    i=0;
    x=Math.floor((col2[0]-col1[0])/step);
    y=Math.floor((col2[1]-col1[1])/step);
    z=Math.floor((col2[2]-col1[2])/step);
    doFade();
}

function doFade(){
    if (i==step){
        i=0;x=-x;y=-y;z=-z;
    }
    setColor();   
    col[0]+=x;col[0]=Math.max(0,Math.min(255,col[0]));
    col[1]+=y;col[1]=Math.max(0,Math.min(255,col[1]));
    col[2]+=z;col[2]=Math.max(0,Math.min(255,col[2]));
    i++;
    if (bend){resetArray(col3);setColor();window.clearTimeout(oTimer);}
    else oTimer=window.setTimeout(sid+".doFade()",28);
}

function doOver(){bend=false;beginFade();}

function doOut(){bend=true;}

</script>
[/code]

頭一次見,效果還不錯啊

這個要頂

謝謝wpliao大哥~
可是....小弟還是不會用....
不知道這段JS怎麼用到頁面裡




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com