baz_april/squelettes/javascript/script.js

73 lines
2.5 KiB
JavaScript

$(function() {
// masquer les mois des annees precedentes, les afficher au clic sur l'annee, cf composition blog
// $.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 le menu initiatives < medium
$('.btn-initiatives').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-initiatives').removeClass('actif');
$('.header_initiatives .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 + ajout d'une mention dans le title ou alt des images
$('a.spip_out, a.spip_url, a.spip_glossaire, a.external').each(function() {
var url_ext = $(this).attr('href');
$(this).attr('rel', 'noreferrer noopener').attr("title",'Nouvelle fenêtre : '+url_ext+'').click(function(){
window.open(url_ext);
return false
}).children('img').each(function() {
$(this).attr('alt', $(this).attr('alt') + 'Nouvelle fenêtre : '+url_ext+'');
});
});
// 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;
});
}
});
});