• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
麦兜家园
优秀是一种习惯
博客园    首页    新随笔    联系   管理    订阅  订阅
原生js解决图片渐渐变透明的效果

今天来封装一个简单的js效果,就是点击一张图片,渐渐的图片的透明度为0,即为图片消失的效果。

来看布局即为一张图片:

<!--需求:点击图片,透明度降低-->
<img id="img" width="180" src="img/pic4.jpg"/>

js效果如下:

<script>
    window.onload=function(){
        var oImg=document.getElementById("img");
        oImg.onclick=function(){
             opacity(oImg,-0.1,0);
        };
        
        //透明度的封装
        function opacity(obj,dir,target){
            clearInterval( obj.timer );
            obj.timer = setInterval(function () {
                var speed =parseFloat(getStyle( obj, "opacity" ))+ dir;
                if ( speed < target) {
                    clearInterval( obj.timer );
                }else  {
                    obj.style.opacity=speed;
                }
            }, 300);

        }
    };
    //兼容不同浏览器获取行间样式
    function getStyle ( obj, attr ) {
        return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr];
    }

</script>

需要注意的是,图片opacity的值是在0-1之间的,超出这个范围的话,opacity就不起作用了!

当然这是很简单的一个opacity的js封装实现的效果,若是多组图片就是参数改变一下即可!好了,今天就到这里,明天继续!加油!

posted on 2018-01-03 23:30  麦兜家园  阅读(3100)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3