site.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. function click_link() {
  2. $link = $('#text_figli p > a');
  3. $link.click(function(e) {
  4. e.preventDefault();
  5. var $this = $(this);
  6. $href = $this.attr("href");
  7. url = $href.split("/");
  8. page = url[1];
  9. cat = url[2];
  10. project_name = url[3];
  11. if ($this.hasClass('open')) {
  12. $this.removeClass('open');
  13. $('#item_list.'+ cat).remove();
  14. } else {
  15. $.ajax({
  16. url : '/' + page + '/' + cat, // La ressource ciblée
  17. type : 'GET', // Le type de la requête HTTP
  18. dataType:'html',
  19. success: function(data) {
  20. $(data).find('#item_list').addClass(cat).insertAfter($this);
  21. $this.addClass('open');
  22. },
  23. complete: function(data) {
  24. console.log('cat', cat);
  25. click_img(e, $this, $href, url, page, cat, project_name);
  26. }
  27. });
  28. }
  29. });
  30. };
  31. function click_list() {
  32. var $link = $('.list-projets li > a');
  33. $link.click(function(e) {
  34. e.preventDefault();
  35. var $this = $(this);
  36. $href = $this.attr("href");
  37. url = $href.split("/");
  38. page = url[1];
  39. cat = url[2];
  40. project_name = url[3];
  41. var $link_txt = $('#text_figli a#'+cat);
  42. var $link_item = $('#item_list.'+cat);
  43. var $link_card = $('.card > #'+project_name + ' a');
  44. if ($link_txt.hasClass('open') && $link_card.parent().hasClass('open') ) {
  45. console.log('anchor');
  46. anchor($href);
  47. }else if ($link_txt.hasClass('open')) {
  48. $.ajax({
  49. url : '/' + page + '/' + cat + '/' + project_name, // La ressource ciblée
  50. type : 'GET', // Le type de la requête HTTP
  51. dataType:'html',
  52. success: function(data) {
  53. $(data).find('#item').addClass(cat).insertAfter($link_card);
  54. $link_card.parent().addClass('open');
  55. },
  56. });
  57. } else {
  58. $.ajax({
  59. url : '/' + page + '/' + cat, // La ressource ciblée
  60. type : 'GET', // Le type de la requête HTTP
  61. dataType:'html',
  62. success: function(data) {
  63. $(data).find('#item_list').addClass(cat).insertAfter($link_txt);
  64. $link_txt.addClass('open');
  65. anchor($href);
  66. $('.card a').click(function (e) {
  67. e.preventDefault()
  68. })
  69. click_img(e, $this, $href, url, page, cat, project_name)
  70. },
  71. complete: function(data) {
  72. console.log('cat', cat);
  73. var $link_card = $('.card > #'+project_name + ' a');
  74. setTimeout( function(){
  75. console.log('project_name', project_name);
  76. console.log('$link_card', $link_card);
  77. if ($link_card.hasClass('open')) {
  78. }else {
  79. anchor($href);
  80. $.ajax({
  81. url : '/' + page + '/' + cat + '/' + project_name, // La ressource ciblée
  82. type : 'GET', // Le type de la requête HTTP
  83. dataType:'html',
  84. success: function(data) {
  85. $(data).find('#item').addClass(cat).insertAfter($link_card);
  86. $link_card.parent().addClass('open');
  87. },
  88. });
  89. }
  90. }, 1500);
  91. }
  92. });
  93. }
  94. });
  95. }
  96. function click_img(e, $this, $href, url, page, cat, project_name) {
  97. // $link_img = $('.card .card-image > a');
  98. $('section.' + cat +' .card-image > a').click(function(e) {
  99. var $this = $(this);
  100. $href = $this.attr("href");
  101. url = $href.split("/");
  102. page = url[1];
  103. cat = url[2];
  104. project_name = url[3];
  105. e.preventDefault();
  106. if ($this.parent().hasClass('open')) {
  107. $this.parent().removeClass('open');
  108. $($this.parent().find('#item.'+ cat)).remove();
  109. } else {
  110. $.ajax({
  111. url : '/' + page + '/' + cat + '/' + project_name, // La ressource ciblée
  112. type : 'GET', // Le type de la requête HTTP
  113. dataType:'html',
  114. success: function(data) {
  115. $(data).find('#item').addClass(cat).insertAfter($this);
  116. $this.parent().addClass('open');
  117. },
  118. });
  119. }
  120. });
  121. }
  122. function anchor($href) {
  123. var aTag = $("a[href='"+ $href +"']");
  124. $('html,body').animate({scrollTop: aTag.offset().top},'slow');
  125. }
  126. $(document).ready(function($){
  127. click_link();
  128. click_list();
  129. });