Fade с использованием фильтра в IE7, IE8 - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть следующий код постепенного изменения, который работает в 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.Я попытался реализовать это, но не смог найти хорошую документацию.Используя эту документацию , моя попытка состоит в следующем, используя пустую HTML-страницу только с тегом body:

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, чтобы добиться подобного эффекта затухания?

...