function click_link() { $link = $('#text_figli p > a'); $link.click(function(e) { e.preventDefault(); var $this = $(this); $href = $this.attr("href"); url = $href.split("/"); page = url[1]; cat = url[2]; project_name = url[3]; if ($this.hasClass('open')) { $this.removeClass('open'); $('#item_list.'+ cat).remove(); } else { $.ajax({ url : '/' + page + '/' + cat, // La ressource ciblée type : 'GET', // Le type de la requête HTTP dataType:'html', success: function(data) { $(data).find('#item_list').addClass(cat).insertAfter($this); $this.addClass('open'); }, complete: function(data) { console.log('cat', cat); lazyload(); click_img(e, $this, $href, url, page, cat, project_name); closeAjax(); } }); } }); }; function click_list() { var $link = $('.list-projets li > a'); $link.click(function(e) { e.preventDefault(); var $this = $(this); $href = $this.attr("href"); url = $href.split("/"); page = url[1]; cat = url[2]; project_name = url[3]; var $link_txt = $('#text_figli a#'+cat); var $link_item = $('#item_list.'+cat); var $link_card = $('.card > #'+project_name + ' a'); if ($link_txt.hasClass('open') && $link_card.parent().hasClass('open') ) { anchor($href); }else if ($link_txt.hasClass('open')) { anchor($href); $.ajax({ url : '/' + page + '/' + cat + '/' + project_name, // La ressource ciblée type : 'GET', // Le type de la requête HTTP dataType:'html', success: function(data) { $('#item_list.'+cat+' .card-image.open #item').remove(); $('#item_list.'+cat+' .card-image').removeClass('open'); $(data).find('#item').addClass(cat).insertAfter($link_card); $link_card.parent().addClass('open'); }, complete: function(data) { lazyload(); // animate(); marg_item(project_name); closeAjax(); }, }); } else { $.ajax({ url : '/' + page + '/' + cat, // La ressource ciblée type : 'GET', // Le type de la requête HTTP dataType:'html', success: function(data) { $(data).find('#item_list').addClass(cat).insertAfter($link_txt); $link_txt.addClass('open'); anchor($href); $('.card a').click(function (e) { e.preventDefault() }) click_img(e, $this, $href, url, page, cat, project_name) }, complete: function(data) { console.log('cat', cat); lazyload(); var $link_card = $('.card > #'+project_name + ' a'); setTimeout( function(){ console.log('project_name', project_name); console.log('$link_card', $link_card); if ($link_card.hasClass('open')) { }else { anchor($href); $.ajax({ url : '/' + page + '/' + cat + '/' + project_name, // La ressource ciblée type : 'GET', // Le type de la requête HTTP dataType:'html', success: function(data) { $(data).find('#item').addClass(cat).insertAfter($link_card); $link_card.parent().addClass('open'); }, complete: function(data) { // animate(); lazyload(); marg_item(project_name); closeAjax(); }, }); } }, 500); } }); } }); } function click_img(e, $this, $href, url, page, cat, project_name) { $('section.' + cat +' .card-image > a').click(function(e) { var $this = $(this); $href = $this.attr("href"); url = $href.split("/"); page = url[1]; cat = url[2]; project_name = url[3]; e.preventDefault(); if ($this.parent().hasClass('open')) { $this.parent().removeClass('open'); $($this.parent().find('#item.'+ cat)).remove(); } else { $.ajax({ url : '/' + page + '/' + cat + '/' + project_name, // La ressource ciblée type : 'GET', // Le type de la requête HTTP dataType:'html', success: function(data) { $('#item_list.'+cat+' .card-image.open #item').remove(); $('#item_list.'+cat+' .card-image').removeClass('open'); $(data).find('#item').addClass(cat).insertAfter($this); $this.parent().addClass('open'); marg_item(project_name); anchor($href); }, complete:function() { lazyload(); closeAjax(); } }); } }); } function anchor($href) { var aTag = $("a[href='"+ $href +"']"); // console.log('aTag.offset()', aTag.offset().top+10); $('html,body').animate({scrollTop: aTag.offset().top-7},'slow'); } function animate() { var $item_list = $('#item_list .card > .card-image'); $item_list.fadeIn( "slow" ); } function marg_item(project_name) { var $item = $('.card-image#'+project_name+' #item'); var $item_offset = $item.offset().left-8; var $card = $item.parents('.card'); var $item_list = $item.parents('#item_list'); var pos_card = $card.offset().left; var margin_right = $item_list.width() - (pos_card + $card.width()); console.log('$card.width()',$card.width()); console.log('pos_card',pos_card); console.log('$item_list',$item_list.width()); $item.css('margin-left', '-'+$item_offset +'px'); // $item.parents('.card').css('margin-right', margin_right); } function mouseHover() { $link_cat = $('#text_figli p > a'); $link_cat.mouseenter(function() { link_id = $(this).attr("id"); $('html').append("
"); console.log('link_id',link_id); setTimeout(function () { $('.circle_hover').addClass('open '+ link_id); }, 10); mousePos(); }) .mouseleave(function() { $('html').find(".circle_hover").remove(); }); function mousePos() { var currentMousePos = { x: 0, y: 0 }; var $circle = $('.circle_hover'); $(document).mousemove(function(event) { currentMousePos.x = event.pageX; currentMousePos.y = event.pageY; $circle.css('left', currentMousePos.x ); $circle.css('top', currentMousePos.y ); }); } }; function lazyload() { $('.lazy').Lazy({ effect: "fadeIn", effectTime: 900, threshold: 0 }); } function redirection() { var url = document.location.href; console.log(url); if (url != 'https://figureslibres.kevintessier.net/') { document.location.href="https://figureslibres.kevintessier.net/" } } function animate_burger() { var forEach=function(t,o,r){if("[object Object]"===Object.prototype.toString.call(t))for(var c in t)Object.prototype.hasOwnProperty.call(t,c)&&o.call(r,t[c],c,t);else for(var e=0,l=t.length;l>e;e++)o.call(r,t[e],e,t)}; var hamburgers = document.querySelectorAll(".hamburger"); var $hamburger = $('button.hamburger'); if (hamburgers.length > 0) { forEach(hamburgers, function(hamburger) { hamburger.addEventListener("click", function() { this.classList.toggle("is-active"); }, false); }); } $hamburger.click(function() { $('.sidebar-right').toggleClass("is-active"); }) } function closeAjax() { var $button = $('#item_list #icone_list'); $button.click(function() { $(this).parent().remove(); }); } $(document).ready(function($){ // redirection(); click_link(); click_list(); mouseHover(); animate_burger(); });