script.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. var timer;
  2. $(document).ready(function() {
  3. $(".result").on("click", function() {
  4. var id = $(this).attr("data-linkId");
  5. var url = $(this).attr("href");
  6. if(!id) {
  7. alert("data-linkId attribute not found");
  8. }
  9. increaseLinkClicks(id, url);
  10. return false;
  11. });
  12. var grid = $(".imageResults");
  13. grid.on("layoutComplete", function() {
  14. $(".gridItem img").css("visibility", "visible");
  15. });
  16. grid.masonry({
  17. itemSelector: ".gridItem",
  18. columnWidth: 200,
  19. gutter: 5,
  20. isInitLayout: false
  21. });
  22. $("[data-fancybox]").fancybox({
  23. caption : function( instance, item ) {
  24. var caption = $(this).data('caption') || '';
  25. var siteUrl = $(this).data('siteurl') || '';
  26. if ( item.type === 'image' ) {
  27. caption = (caption.length ? caption + '<br />' : '')
  28. + '<a href="' + item.src + '">View image</a><br>'
  29. + '<a href="' + siteUrl + '">Visit page</a>';
  30. }
  31. return caption;
  32. },
  33. afterShow : function( instance, item ) {
  34. increaseImageClicks(item.src);
  35. }
  36. });
  37. });
  38. function loadImage(src, className) {
  39. var image = $("<img>");
  40. image.on("load", function() {
  41. $("." + className + " a").append(image);
  42. clearTimeout(timer);
  43. timer = setTimeout(function() {
  44. $(".imageResults").masonry();
  45. }, 500);
  46. });
  47. image.on("error", function() {
  48. $("." + className).remove();
  49. $.post("ajax/setBroken.php", {src: src});
  50. });
  51. image.attr("src", src);
  52. }
  53. function increaseLinkClicks(linkId, url) {
  54. $.post("ajax/updateLinkCount.php", {linkId: linkId})
  55. .done(function(result) {
  56. if(result != "") {
  57. alert(result);
  58. return;
  59. }
  60. window.location.href = url;
  61. });
  62. }
  63. function increaseImageClicks(imageUrl) {
  64. $.post("ajax/updateImageCount.php", {imageUrl: imageUrl})
  65. .done(function(result) {
  66. if(result != "") {
  67. alert(result);
  68. return;
  69. }
  70. });
  71. }