【问题标题】:change an image onload更改图像加载
【发布时间】:2012-07-15 12:01:38
【问题描述】:

我有一个简单的网页,主页上的 div 中有一个图像,我想在页面加载(仅一次)后使用 javascript 将图像更改为替代图像,我目前正在使用动画 gif 来执行此操作,但更喜欢使用 javascript。

我的 JavaScript 技能有限。

谢谢

【问题讨论】:

    标签: javascript image onload fade


    【解决方案1】:

    我假设您不会使用 jQuery,所以我创建了简单的 js 示例,它在页面加载后淡出一个图像并淡入另一个图像。你可以在这里查看示例http://jsfiddle.net/rJzPV/7/

    function fadeOut(elem, time, callbackFn) {
        var startOpacity = elem.style.opacity || 1;
        elem.style.opacity = startOpacity;
    
        (function go() {
            elem.style.opacity -= startOpacity / (time / 100);
    
            // for IE
            elem.style.filter = 'alpha(opacity=' + elem.style.opacity * 100 + ')';
    
            if (elem.style.opacity > 0.11)
                setTimeout(go, 100);
            else {
                elem.style.display = 'none';
                if (callbackFn)
                    callbackFn();
            }
        })();
    }
    
    function fadeIn(elem, time) {
        var startOpacity = 0.1;
        elem.style.opacity = startOpacity;
        elem.style.display = "";
        (function go() {
            elem.style.opacity -= -startOpacity / (time / 1000);
    
            // for IE
            elem.style.filter = 'alpha(opacity=' + elem.style.opacity * 100 + ')';
    
            if (elem.style.opacity < 1)
                setTimeout(go, 100);
        })();
    }
    
    window.addEvent('load', function () {
        function changePicture() {
            var _myImg = document.getElementById("myImage");
            _myImg.src = "http://www.google.com/logos/2012/klimt12-hp.jpg";
            fadeIn(_myImg, 1000);
        }
    
        var _myImg = document.getElementById("myImage");
        fadeOut(_myImg, 1000, changePicture);
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      相关资源
      最近更新 更多