我在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
以实现类似的淡入效果?