兼容多浏览器实现半透明(Opera ie firefox)

2022-04-15 0 450

Click on a link above to make the image disappear and re-appear by gradually fading in/out. It uses CSS transparency, in CSS you can set the transparency in different ways. To ensure that it works on most browsers we use all three.

opacity: 0.5;

This one is the official CSS3 method, at the moment it works in newer Mozilla versions. 


-moz-opacity: 0.5;
This one works in older versions of Mozilla and Phoenix/FireBird/FireFox. 

-khtml-opacity: 0.5;

This is used by browsers that use teh KHTML rendering engine, namely Konquerer on Linux and Safari on MacOS. 


filter: alpha(opacity=50);

This one works only in MSIE. 

There is actually another one: -khtml-opacity: 0.5; works for the browsers Konquerer on Linux and Safari on MacOS. You could add it too if you want to support these users. Somewhere in the near future most browsers will support CSS3 and opacity: 0.5; should work everywhere.


复制代码 代码如下:

function opacity(id, opacStart, opacEnd, millisec) {

    //speed for each frame

    var speed = Math.round(millisec / 100);

    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens

    if(opacStart > opacEnd) {

        for(i = opacStart; i >= opacEnd; i–) {

            setTimeout(“changeOpac(” + i + “,'” + id + “‘)”,(timer * speed));

            timer++;

        }

    } else if(opacStart < opacEnd) {

        for(i = opacStart; i <= opacEnd; i++)

            {

            setTimeout(“changeOpac(” + i + “,'” + id + “‘)”,(timer * speed));

            timer++;

        }

    }

}

//change the opacity for different browsers

function changeOpac(opacity, id) {

    var object = document.getElementById(id).style; 

    object.opacity = (opacity / 100);

    object.MozOpacity = (opacity / 100);

    object.KhtmlOpacity = (opacity / 100);

    object.filter = “alpha(opacity=” + opacity + “)”;

}

function shiftOpacity(id, millisec) {

    //if an element is invisible, make it visible, else make it ivisible

    if(document.getElementById(id).style.opacity == 0) {

        opacity(id, 0, 100, millisec);

    } else {

        opacity(id, 100, 0, millisec);

    }

}

function blendimage(divid, imageid, imagefile, millisec) {

    var speed = Math.round(millisec / 100);

    var timer = 0;

    //set the current image as background

    document.getElementById(divid).style.backgroundImage = “url(” + document.getElementById(imageid).src + “)”;

    //make image transparent

    changeOpac(0, imageid);

    //make new image

    document.getElementById(imageid).src = imagefile;

    //fade in image

    for(i = 0; i <= 100; i++) {

        setTimeout(“changeOpac(” + i + “,'” + imageid + “‘)”,(timer * speed));

        timer++;

    }

}

function currentOpac(id, opacEnd, millisec) {

    //standard opacity is 100

    var currentOpac = 100;

    //if the element has an opacity set, get it

    if(document.getElementById(id).style.opacity < 100) {

        currentOpac = document.getElementById(id).style.opacity * 100;

    }

    //call for the function that changes the opacity

    opacity(id, currentOpac, opacEnd, millisec)

}

更多参考
http://www.brainerror.net/scripts_js_blendtrans.php

http://realazy.org/blog/2006/03/21/ie-firefox-opera-alpha-transparency/

http://alistapart.com/stories/pngopacity/

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 CSS/HTML 兼容多浏览器实现半透明(Opera ie firefox) https://www.niceym.com/14466.html