Files
figureslibres.cc/user/themes/figureslibres/css/js/site.js
T
2020-01-20 11:51:20 +01:00

382 lines
10 KiB
JavaScript

function click_link() {
$link = $('#text_figli p > a');
$link.on('click',function(e) {
e.preventDefault();
var $loader = $(this).find('.loader');
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 {
$('#item_list').remove();
$('.open').removeClass('open');
$loader.css('display','inline-block');
$.ajax({
url : '/' + page + '/' + cat, // La ressource ciblée
type : 'GET', // Le type de la requête HTTP
dataType:'html',
async: false,
success: function(data) {
$(data).find('#item_list').addClass(cat).insertAfter($this);
$this.addClass('open');
lazy();
},
complete: function(data) {
// console.log('cat', cat);
$loader.hide();
click_img(e, $this, $href, url, page, cat, project_name);
closeAjax();
},
});
}
});
};
function click_list() {
var $link = $('.list-projets li > a');
$link.click(function(e) {
$('.sidebar-right, .sidebar-right button.hamburger').removeClass('is-active');
var idthis = $(this).attr("id");
var $loader = $(this).parents('#start').find('#text_figli #'+idthis+' .loader');
console.log('$loader',$loader);
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',
// async: false,
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');
lazy();
},
complete: function(data) {
marg_item(project_name);
closeAjax();
anchor($href);
},
});
} else {
$('#item_list').remove();
$('.open').removeClass('open');
$loader.css('display','inline-block');
$.ajax({
url : '/' + page + '/' + cat, // La ressource ciblée
type : 'GET', // Le type de la requête HTTP
dataType:'html',
// async: false,
success: function(data) {
$(data).find('#item_list').addClass(cat).insertAfter($link_txt);
$link_txt.addClass('open');
lazy();
$('.card a').click(function (e) {
e.preventDefault()
})
click_img(e, $this, $href, url, page, cat, project_name)
},
complete: function(data) {
// console.log('cat', cat);
$loader.hide();
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');
lazy();
},
complete: function(data) {
marg_item(project_name);
closeAjax();
anchor($href);
scrollTop();
},
});
}
}, 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];
var $loader = $(this).parents('.card').find('.loader');
e.preventDefault();
if ($this.parent().hasClass('open')) {
$this.parent().removeClass('open');
$($this.parent().find('#item.'+ cat)).remove();
} else {
$loader.css('display','inline-block');
$.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);
lazy();
scrollTop();
// ScrollReveal().reveal($('#item_list > .card'), {
// duration: 1000,
// distance: '10px',
// });
},
complete:function() {
closeAjax();
$('.loader').hide();
}
});
}
});
}
function anchor($href) {
var aTag = $("#text_figli a[href='"+ $href +"']");
console.log(aTag);
// 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 $card = $item.parents('.card');
var pos_card = $card.offset().left-8;
$item.css('margin-left', '-'+pos_card +'px');
$(window).resize(function() {
var pos_card = $card.offset().left-8;
$item.css('margin-left', '-'+pos_card +'px');
})
}
function mouseHover() {
$link_cat = $('#text_figli p > a');
$link_cat.mouseenter(function() {
link_id = $(this).attr("id");
$('html').append("<div class=circle_hover ></div>");
// 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 lazy() {
$('img.lazy').Lazy({
effect: "fadeIn",
effectTime: 500,
threshold: 0
});
}
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 #icone_list');
$button.click(function() {
$(this).parent().remove();
$('.card-image').removeClass("open");
});
}
function croix() {
var $link = $("#text_figli p > a");
var hamburger = "<div id='icone_list'><button class='hamburger hamburger--slider is-active' type='button'><span class='hamburger-box'><span class='hamburger-inner'></span></span></button></div>"
var loader = "<div class='loader'></div>"
$link.append(hamburger);
$link.append(loader);
}
function scrollTop() {
var $body = $("html, body");
$('#item #top').click(function() {
$body.stop().animate({scrollTop:0}, 500, 'swing', function() {
});
})
}
function imgmouse() {
var currentMousePos = { x: 0, y: 0 };
var $list_projets = $('.list-projets');
var $img = $('.list-projets .img');
$list_projets.mousemove(function(e) {
var pos = $list_projets.offset();
currentMousePos.x = e.pageX - pos.left ;
currentMousePos.y = e.pageY - pos.top;
$img.css('left', currentMousePos.x );
$img.css('top', currentMousePos.y );
});
}
function scrollreveal() {
var $txt = $('#text_figli p');
ScrollReveal().reveal($txt, {
duration: 1000,
distance: '10px',
});
}
function clickmenu() {
var $menu = $('.sidebar-right button');
$menu.click(function() {
$('#text_figli').toggleClass('hidden');
$('html, body').toggleClass('hidden');
});
var $list_projetsA = $('.list-projets .container');
$list_projetsA.click(function() {
$('#text_figli').toggleClass('hidden');
$('html, body').toggleClass('hidden');
});
}
function scrollcustom() {
$(window).on("load",function(){
// $(".sidebar-right").mCustomScrollbar({
// scrollbarPosition: "outside",
// axis:"y",
// });
//
// $("body").mCustomScrollbar({
// scrollbarPosition: "outside",
// axis:"y",
// });
});
}
$(document).ready(function($){
scrollcustom();
scrollreveal();
click_link();
click_list();
mouseHover();
animate_burger();
croix();
imgmouse();
clickmenu();
});