baz_april/squelettes/javascript/script.js
2020-05-16 12:21:49 +02:00

75 lines
2.9 KiB
JavaScript

$(function() {
// masquer les mois des annees precedentes, les afficher au clic sur l'annee
// $.each( ['.annees.archive'], function(i,hi){
// $( ".periode div" ).find(hi).each(function(index) {
// // Creer un div apres et y placer tout ce qui se trouve apres et jusqu'au hi suivant
// $(this).after("<span class=\"mois_archives\"></span>").next().append($(this).next().nextUntil(hi));
// // plier/deplier le contenu
// // $(this).next().hide();
// $(this).click(function(){
// $(this).next().toggleClass('ouvert');
// $(this).toggleClass('ouvert');
// return false;
// });
// });
// });
// afficher/masquer la boussole < medium
$('.btn-boussole').on('click', function(){
$(this).toggleClass('actif').siblings('.nav').toggleClass('ouvert');
$('.principale .btn-nav').removeClass('actif').siblings('.nav-list').removeClass('ouvert');
});
// placer le html du bouton du menu, visible < medium
$('.nav.principale').prepend('<button type="button" class="btn-nav"><span class="ham"></span>MENU</button>');
// afficher/masquer le menu
$('.principale .btn-nav').on('click', function(){
$(this).toggleClass('actif').siblings('ul').toggleClass('ouvert');
$('.btn-boussole').removeClass('actif');
$('.header_boussole .nav').removeClass('ouvert');
});
/// styler les boutons radios et checkboxes
$('.formulaire_spip .choix label').each(function() {
$(this).prepend('<span><span></span></span>').parent().addClass('custom-radios');
});
// liens sortant et PDF en target _blank + ajout d'une mention dans le title ou alt des images
$('a.spip_out, a.spip_url, a.spip_glossaire, a.external, a[href$=".pdf"], a[href$=".doc"]').each(function() {
$(this).attr('target', '_blank').attr('rel', 'noreferrer noopener');
if($(this).attr('title') && $(this).attr('title').length) {
$(this).attr('title', $(this).attr('title') + ' - Nouvelle fenêtre');
} else if($(this).text().trim().length) {
$(this).attr('title', $(this).text().trim() + ' - Nouvelle fenêtre');
} else {
$(this).children('img').each(function() {
$(this).attr('alt', $(this).attr('alt') + ' - Nouvelle fenêtre');
});
}
});
// smooth scroll
$('a[href^="#"], .js-scrollTo').on('click', function(e) {
if($(this).hasClass('js-noscroll')) {
return;
}
var hash = this.hash;
var $target = $(hash);
var offset = $target.offset();
if(!offset) {
$target = $('a[name='+hash.replace(/#/,'')+']');
offset = $target.offset();
}
if(offset) {
e.preventDefault();
var newPos = offset.top - 10;
$('html, body').stop().animate(
{'scrollTop': newPos}, 750, 'swing', function() {
window.location.hash = hash;
});
}
});
});