在IE7,IE8中使用过滤器淡出

时间:2018-04-26 00:08:54

标签: javascript css internet-explorer opacity fade

我在IE 9,10和其他现代浏览器中使用以下淡入淡出代码,以便在<select>元素中淡入淡出,因为它会动态添加到页面中:

function fadeIn(element) {        
    var op = 0.1;
    var timer = setInterval(function() {
        if (op >=1 ) {
            clearInterval(timer);
        }
        element.style.opacity = op;
        op += 0.1;
    }, 50);
}

我需要在IE 7和IE 8中进行类似的淡入淡出工作。上述代码无效,因为这些旧版浏览器使用filter样式属性。所以我试图实现这一点,但我找不到好的文档。使用this documentation,以下是我的尝试,使用只有正文标记的空HTML页面:

JS:

window.onload = function() {
    var body = document.body;
    var select = document.createElement("select");
    var option = document.createElement("option");
    var optionText = document.createTextNode("A random choice.");
    body.appendChild(select);
    option.appendChild(optionText);
    select.appendChild(option);
    fadeInIE(select);

    function fadeInIE(element) {
        element.style.filter ="progid:DXImageTransform.Microsoft.Fade(duration=5)";
        element.filters[0].Apply();
        element.filters[0].Play();
    }
}

其他CSS:

select {
    display: block;
    margin:0 auto;
    margin-bottom: 30px;
    width:150px;
}

它不起作用。我应该如何实现filter以实现类似的淡入效果?

0 个答案:

没有答案