HTML5与jQuery实现渐变绚丽网页图片效果【html5】
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 447
//Onwindowload.Thiswaitsuntilimageshaveloadedwhichisessential$(window).load(function(){//Fadeinimag
// On window load. This waits until images have loaded which is essential   $(window).load(function(){        // Fade in images so there isn't a color "pop" document load and then on window load    $(".item img").animate({opacity:1},500);        // clone image    $('.item img').each(function(){     var el = $(this);     el.css({"position":"absolute"}).wrap("<div class='img_wrapper' style='display: inline-block'>").clone().addClass('img_grayscale').css({"position":"absolute","z-index":"998","opacity":"0"}).insertBefore(el).queue(function(){      var el = $(this);      el.parent().css({"width":this.width,"height":this.height});      el.dequeue();     });     this.src = grayscale(this.src);    });        // Fade image     $('.item img').mouseover(function(){     $(this).parent().find('img:first').stop().animate({opacity:1}, 1000);    })    $('.img_grayscale').mouseout(function(){     $(this).stop().animate({opacity:0}, 1000);    });     });      // Grayscale w canvas method   function grayscale(src){          var canvas = document.createElement('canvas');    var ctx = canvas.getContext('2d');          var imgObj = new Image();    imgObj.src = src;    canvas.width = imgObj.width;    canvas.height = imgObj.height;     ctx.drawImage(imgObj, 0, 0);     var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);    for(var y = 0; y < imgPixels.height; y++){     for(var x = 0; x < imgPixels.width; x++){      var i = (y * 4) * imgPixels.width + x * 4;      var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;      imgPixels.data[i] = avg;       imgPixels.data[i + 1] = avg;       imgPixels.data[i + 2] = avg;     }    }    ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);    return canvas.toDataURL();      }  

  

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2