JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 前端设计 » js原生淡入淡出效果

js原生淡入淡出效果

此文被围观2749 日期: 2014-01-17 分类 : 前端设计  标签:  ····
地址:http://mrthink.net/demo/ijs20110127.htm
window.onload = function(){
        //底层共用
    var iBase = {
        Id: function(name){
            return document.getElementById(name);
        },
                //设置元素透明度,透明度值按IE规则计,即0~100
        SetOpacity: function(ev, v){
            ev.filters ? ev.style.filter = 'alpha(opacity=' + v + ')' : ev.style.opacity = v / 100;
        }
    }
        //淡入效果(含淡入到指定透明度)
        function fadeIn(elem, speed, opacity){
                /*
                 * 参数说明
                 * elem==>需要淡入的元素
                 * speed==>淡入速度,正整数(可选)
                 * opacity==>淡入到指定的透明度,0~100(可选)
                 */
            speed = speed || 20;
            opacity = opacity || 100;
                //显示元素,并将元素值为0透明度(不可见)
            elem.style.display = 'block';
            iBase.SetOpacity(elem, 0);
                //初始化透明度变化值为0
            var val = 0;
                //循环将透明值以5递增,即淡入效果
            (function(){
                iBase.SetOpacity(elem, val);
                val += 5;
                if (val <= opacity) {
                    setTimeout(arguments.callee, speed)
                }
            })();
        }

        //淡出效果(含淡出到指定透明度)
        function fadeOut(elem, speed, opacity){
                /*
                 * 参数说明
                 * elem==>需要淡入的元素
                 * speed==>淡入速度,正整数(可选)
                 * opacity==>淡入到指定的透明度,0~100(可选)
                 */
            speed = speed || 20;
            opacity = opacity || 0;
            //初始化透明度变化值为0
            var val = 100;
                //循环将透明值以5递减,即淡出效果
            (function(){
                iBase.SetOpacity(elem, val);
                val -= 5;
                if (val >= opacity) {
                    setTimeout(arguments.callee, speed);
                }else if (val < 0) {
                                //元素透明度为0后隐藏元素
                    elem.style.display = 'none';
                }
            })();
        }

    var btns = iBase.Id('demo').getElementsByTagName('input');

    btns[0].onclick = function(){
        fadeIn(iBase.Id('fadeIn'));
    }
    btns[1].onclick = function(){
        fadeOut(iBase.Id('fadeOut'),40);
    }
    btns[2].onclick = function(){
        fadeOut(iBase.Id('fadeTo'), 20, 10);
    }

}


js原生淡入淡出效果

站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。 蜀ICP备12031064号      川公网安备51162302000234