js 实现淡入淡出

淡入淡出在实际的应用中经常用到,实现原理很简单,就是动态的修改他的opcity的值
以下为实现代码,需要注意的地方已经写好注释

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            img{
             height: 300px;
             width: 150px;
             margin-left: 30px; 
             filter:alpha(opacity=30);
             opacity:0.3;
            }
        </style>
    </head>
    <body>
        <img id="img" src="img/danrudanchu.jpg"/>
    </body>
    <script>
        var alpha = 30;
        var timer = null;
        window.onload = function(){
            var img = document.getElementById("img");
            img.onmousemove = function(){
                startMove(100);
            }
            img.onmouseout = function(){
                startMove(30);
            }
        }
        function startMove(target){
            var img = document.getElementById("img");
            var speed = 0;
            //每次开始就先关闭一下定时器,防止上一个定时器还未关闭,导致多个定时器同时工作
            clearInterval(timer);
            timer = setInterval(function(){
                //原先的alpha>target,表示淡出
                if(alpha>target){
                    speed = -5;
                }else{
                    speed = 5;
                }
                alpha += speed;
                //相等之后,关闭定时器,停止淡出或者淡入效果
                if(alpha==target){
                    clearInterval(timer);
                }else{
                    img.style.filter = 'alpha(opacity='+alpha+')';
                    img.style.opacity = alpha/100;
                }
            },30);
        }
    </script>
</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,776评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,240评论 4 61
  • 一 我希望有一个地方, 可以安放我的小迷茫,和小幻想。 二 最好的相遇, 是遇见内心深处的自己; 最好的旅途, 是...
    若水追梦阅读 1,943评论 0 1
  • 立夏 轻轻的,仿佛还在春的旋律中徘徊、低吟,一转眼,夏天已静静而至。风依然是暖暖的,却从阳光中依稀嗅出了点...
    njlinda阅读 3,196评论 0 2
  • 对,我就是没气量,没风度,睚眦必报的毒舌愤青,是不是不照着你的方式和思维生活我就天理不容,人神共愤了?你以为你是谁...
    尔东女阅读 1,202评论 0 0