Advertisement
Guest User

mouseover.js

a guest
Jun 19th, 2012
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. // JavaScript Document<script type="text/javascript">
  2.  
  3. // On window load. This waits until images have loaded which is essential
  4. $(window).load(function(){
  5.  
  6. // Fade in images so there isn't a color "pop" document load and then on window load
  7. $(".item img").fadeIn(200);
  8.  
  9. // clone image
  10. $('.item img').each(function(){
  11. //alert('1');
  12. var el = $(this);
  13. 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(){
  14. var el = $(this);
  15. el.parent().css({"width":this.width,"height":this.height});
  16. el.dequeue();
  17. });
  18.  
  19. //alert(this.src);
  20. this.src = grayscale(this.src);
  21. });
  22.  
  23. // Fade image
  24. $('.item img').mouseover(function(){
  25. $(this).parent().find('img:first').stop().animate({opacity:1}, 200);
  26. })
  27. $('.img_grayscale').mouseout(function(){
  28. $(this).stop().animate({opacity:0}, 200);
  29. });
  30. });
  31.  
  32. // Grayscale w canvas method
  33. function grayscale(src){
  34. //var canvas = document.createElement('canvas');
  35. //var ctx = canvas.getContext('2d');
  36.  
  37. var canvas = document.createElement('canvas');
  38.  
  39. var G_vmlCanvasManager;
  40.  
  41. // code for IE browsers
  42. if (window.G_vmlCanvasManager)
  43. {
  44. //canvas = window.G_vmlCanvasManager.initElement('#designer_grid');
  45. canvas = window.G_vmlCanvasManager.initElement(canvas);
  46. var ctx = canvas.getContext('2d');
  47. }
  48. // Non IE browsers
  49. else
  50. {
  51. var ctx = canvas.getContext('2d');
  52. }
  53.  
  54. var imgObj = new Image();
  55. imgObj.src = src;
  56. canvas.width = imgObj.width;
  57. canvas.height = imgObj.height;
  58. ctx.drawImage(imgObj, 0, 0);
  59.  
  60. //alert(canvas.height);
  61. var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);
  62. for(var y = 0; y < imgPixels.height; y++){
  63. for(var x = 0; x < imgPixels.width; x++){
  64. var i = (y * 4) * imgPixels.width + x * 4;
  65. var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
  66. imgPixels.data[i] = avg;
  67. imgPixels.data[i + 1] = avg;
  68. imgPixels.data[i + 2] = avg;
  69. }
  70. }
  71. ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
  72. return canvas.toDataURL();
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement