gain en rapidité pour l'affichage petit écran
This commit is contained in:
parent
85729f1663
commit
932cb0f178
211
core/core.js.php
211
core/core.js.php
|
@ -164,6 +164,40 @@ core.noticeRemove = function(id) {
|
|||
* Scripts à exécuter en premier
|
||||
*/
|
||||
core.start = function() {
|
||||
|
||||
/* Décalage en petit écran de la bannière ou de la section si le menu burger est fixe et non caché
|
||||
* n'opère pas sur les pages de configuration du thème
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() < 800) {
|
||||
// Variables du thème
|
||||
var positionNav = <?php echo json_encode($this->getData(['theme', 'menu', 'position'])); ?>;
|
||||
var burgerFixed = <?php echo json_encode($this->getData(['theme', 'menu', 'burgerFixed'])); ?>;
|
||||
var namePage = <?php echo json_encode($this->getUrl(0)); ?>;
|
||||
if( positionNav !=='hide' && burgerFixed === true && namePage !== 'theme'){
|
||||
var positionHeader = <?php echo json_encode($this->getData(['theme', 'header', 'position'])); ?>;
|
||||
var tinyHidden = <?php echo json_encode($this->getData(['theme', 'header', 'tinyHidden'])); ?>;
|
||||
var homePageOnly = <?php echo json_encode($this->getData(['theme', 'header', 'homePageOnly'])); ?>;
|
||||
// bannerMenuHeight et bannerMenuHeightSection transmis par core.php/showMenu()
|
||||
var burgerOverlay = <?php echo json_encode($this->getData(['theme', 'menu', 'burgerOverlay'])); ?>;
|
||||
var homePageId = <?php echo json_encode($this->getData(['locale', 'homePageId'])); ?>;
|
||||
var offsetBanner = "0";
|
||||
if( burgerOverlay === false) offsetBanner = bannerMenuHeight;
|
||||
// Si la bannière est visible la décaler
|
||||
if( tinyHidden === false && ( homePageOnly === false || namePage === homePageId )){
|
||||
$("#site.container header, header.container").css("padding-top",offsetBanner);
|
||||
} else {
|
||||
// sinon décaler la section
|
||||
$("section").css("padding-top",bannerMenuHeightSection);
|
||||
}
|
||||
// Si la bannière est cachée décaler la section
|
||||
if( positionHeader === 'hide'){
|
||||
$("section").css("padding-top",bannerMenuHeightSection);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
/**
|
||||
* Remonter en haut au clic sur le bouton
|
||||
*/
|
||||
|
@ -388,7 +422,78 @@ core.start = function() {
|
|||
}
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
/* Positionnement vertical du bandeau du menu burger si il est fixe et si un utilisateur est connecté
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() < 800) {
|
||||
<?php if( $this->getData(['theme','menu', 'burgerFixed'])=== true){ ?>
|
||||
var barHeight = $(" #bar ").css("height");
|
||||
$(".navfixedburgerconnected").css("top",barHeight);
|
||||
<?php } ?>
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
/* En petit écran, affichage / masquage des items du sous-menu
|
||||
* ou signalisation que la page est désactivée par ouverture du sous-menu
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() < 800) {
|
||||
function displaySubPages( parentId ){
|
||||
var select = "ul#_"+parentId+".navSub";
|
||||
var select2 = 'nav #menu ul li #' + parentId + ' span.iconSubExistSmallScreen';
|
||||
if( $(select).css("z-index") === "-1" ) {
|
||||
$(select).css("z-index","1");
|
||||
$(select).css("opacity","1");
|
||||
$(select).css("padding-left","20px");
|
||||
$(select).css("position","static");
|
||||
$(select2).removeClass('zwiico-plus').addClass('zwiico-minus');
|
||||
} else {
|
||||
$(select).css("z-index","-1");
|
||||
$(select).css("opacity","0");
|
||||
$(select).css("position","absolute");
|
||||
$(select2).removeClass('zwiico-minus').addClass('zwiico-plus');
|
||||
}
|
||||
}
|
||||
$("nav #menu ul li span").click(function() {
|
||||
// id de la page parent
|
||||
var parentId = $(this).parents().attr("id");
|
||||
displaySubPages( parentId);
|
||||
});
|
||||
$("nav #menu a.disabled-link").click(function() {
|
||||
// id de la page parent
|
||||
var parentId = $(this).parents().parents().attr("id");
|
||||
displaySubPages( parentId);
|
||||
});
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
/*
|
||||
* Largeur minimale des onglets principaux du menu et largeur du sous-menu égale à la largeur de l'onglet parent
|
||||
* sauf en petit écran
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if( $(window).width() > 799 ){
|
||||
if( typeof parentPage !== "undefined" ){
|
||||
var page=[];
|
||||
if( '<?php echo $this->getData(['theme', 'menu', 'minWidthParentOrAll']); ?>' === ''){
|
||||
page = parentPage;
|
||||
// suppression d'un sous-menu depuis le dernier enregistrement de theme.css
|
||||
$.each(allPage, function(index, value) {
|
||||
// si la page n'est pas parent on repositionne min-width à auto
|
||||
if( parentPage.includes( value ) === false ) $('nav li .' + value).css('min-width', 'auto');
|
||||
});
|
||||
} else{
|
||||
page = allPage;
|
||||
}
|
||||
$.each(page, function(index, value) {
|
||||
$('nav li .' + value).css('min-width', '<?php echo $this->getData(['theme', 'menu', 'minWidthTab']); ?>');
|
||||
$('nav li ul li .'+value).css('width', $('.'+value).css('width'));
|
||||
$('nav li.' + value).css('text-align', 'left');
|
||||
});
|
||||
}
|
||||
}
|
||||
}).trigger("resize");
|
||||
};
|
||||
|
||||
|
||||
|
@ -552,34 +657,7 @@ $(document).ready(function(){
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
* Largeur minimale des onglets principaux du menu et largeur du sous-menu égale à la largeur de l'onglet parent
|
||||
* sauf en petit écran
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if( $(window).width() > 799 ){
|
||||
if( typeof parentPage !== "undefined" ){
|
||||
var page=[];
|
||||
if( '<?php echo $this->getData(['theme', 'menu', 'minWidthParentOrAll']); ?>' === ''){
|
||||
page = parentPage;
|
||||
// suppression d'un sous-menu depuis le dernier enregistrement de theme.css
|
||||
$.each(allPage, function(index, value) {
|
||||
// si la page n'est pas parent on repositionne min-width à auto
|
||||
if( parentPage.includes( value ) === false ) $('nav li .' + value).css('min-width', 'auto');
|
||||
});
|
||||
} else{
|
||||
page = allPage;
|
||||
}
|
||||
$.each(page, function(index, value) {
|
||||
$('nav li .' + value).css('min-width', '<?php echo $this->getData(['theme', 'menu', 'minWidthTab']); ?>');
|
||||
$('nav li ul li .'+value).css('width', $('.'+value).css('width'));
|
||||
$('nav li.' + value).css('text-align', 'left');
|
||||
});
|
||||
}
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
|
||||
/* Compteur de liens cliqués
|
||||
* Fonctionne avec download_counter.php
|
||||
* Les liens comptabilisés doivent avoir la class="clicked_link_count"
|
||||
|
@ -597,82 +675,5 @@ $(document).ready(function(){
|
|||
});
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
/* En petit écran, affichage / masquage des items du sous-menu
|
||||
* ou signalisation que la page est désactivée par ouverture du sous-menu
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() < 800) {
|
||||
function displaySubPages( parentId ){
|
||||
var select = "ul#_"+parentId+".navSub";
|
||||
var select2 = 'nav #menu ul li #' + parentId + ' span.iconSubExistSmallScreen';
|
||||
if( $(select).css("z-index") === "-1" ) {
|
||||
$(select).css("z-index","1");
|
||||
$(select).css("opacity","1");
|
||||
$(select).css("padding-left","20px");
|
||||
$(select).css("position","static");
|
||||
$(select2).removeClass('zwiico-plus').addClass('zwiico-minus');
|
||||
} else {
|
||||
$(select).css("z-index","-1");
|
||||
$(select).css("opacity","0");
|
||||
$(select).css("position","absolute");
|
||||
$(select2).removeClass('zwiico-minus').addClass('zwiico-plus');
|
||||
}
|
||||
}
|
||||
$("nav #menu ul li span").click(function() {
|
||||
// id de la page parent
|
||||
var parentId = $(this).parents().attr("id");
|
||||
displaySubPages( parentId);
|
||||
});
|
||||
$("nav #menu a.disabled-link").click(function() {
|
||||
// id de la page parent
|
||||
var parentId = $(this).parents().parents().attr("id");
|
||||
displaySubPages( parentId);
|
||||
});
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
/* Décalage en petit écran de la bannière ou de la section si le menu burger est fixe et non caché
|
||||
* n'opère pas sur les pages de configuration du thème
|
||||
*/
|
||||
if($(window).width() < 800) {
|
||||
// Variables du thème
|
||||
var positionNav = <?php echo json_encode($this->getData(['theme', 'menu', 'position'])); ?>;
|
||||
var burgerFixed = <?php echo json_encode($this->getData(['theme', 'menu', 'burgerFixed'])); ?>;
|
||||
var namePage = <?php echo json_encode($this->getUrl(0)); ?>;
|
||||
if( positionNav !=='hide' && burgerFixed === true && namePage !== 'theme'){
|
||||
var positionHeader = <?php echo json_encode($this->getData(['theme', 'header', 'position'])); ?>;
|
||||
var tinyHidden = <?php echo json_encode($this->getData(['theme', 'header', 'tinyHidden'])); ?>;
|
||||
var homePageOnly = <?php echo json_encode($this->getData(['theme', 'header', 'homePageOnly'])); ?>;
|
||||
var bannerMenuHeight = $("nav #toggle").css("height");
|
||||
bannerMenuHeightSection = ( parseInt( bannerMenuHeight.replace("px","") ) + 10 ).toString() + "px";
|
||||
var burgerOverlay = <?php echo json_encode($this->getData(['theme', 'menu', 'burgerOverlay'])); ?>;
|
||||
var homePageId = <?php echo json_encode($this->getData(['locale', 'homePageId'])); ?>;
|
||||
var offsetBanner = "0";
|
||||
if( burgerOverlay === false) offsetBanner = bannerMenuHeight;
|
||||
// Si la bannière est visible la décaler
|
||||
if( tinyHidden === false && ( homePageOnly === false || namePage === homePageId )){
|
||||
$("#site.container header, header.container").css("padding-top",offsetBanner);
|
||||
} else {
|
||||
// sinon décaler la section
|
||||
$("section").css("padding-top",bannerMenuHeightSection);
|
||||
}
|
||||
// Si la bannière est cachée décaler la section
|
||||
if( positionHeader === 'hide'){
|
||||
$("section").css("padding-top",bannerMenuHeightSection);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Positionnement vertical du bandeau du menu burger si il est fixe et si un utilisateur est connecté
|
||||
*/
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() < 800) {
|
||||
<?php if( $this->getData(['theme','menu', 'burgerFixed'])=== true){ ?>
|
||||
var barHeight = $(" #bar ").css("height");
|
||||
$(".navfixedburgerconnected").css("top",barHeight);
|
||||
<?php } ?>
|
||||
}
|
||||
}).trigger("resize");
|
||||
|
||||
});
|
||||
|
|
|
@ -1742,6 +1742,9 @@ class common {
|
|||
$coef = str_replace('em', '', $this->getData(['theme', 'menu', 'fontSize']));
|
||||
$heightLogo = (int) ($height + $fontsize*$coef - 5); // icônes des menus
|
||||
$heightLogoBurger = $heightLogo + 5; // icônes dans le bandeau du menu burger
|
||||
// Pour le décalage du header ou de la section, par core.js.php en petit écran, transmision de la hauteur du bandeau du menu = 2* taille du texte (icône burger) + 2 * padding-topbottom défini par $this->getData(['theme', 'menu', 'height']);
|
||||
$bannerHeight = 2 * $height + 2 * $fontsize;
|
||||
?><script>var bannerMenuHeight = (<?php echo $bannerHeight;?>).toString() + "px";var bannerMenuHeightSection= (<?php echo $bannerHeight + 10;?>).toString() + "px"; </script><?php
|
||||
|
||||
//Menu burger
|
||||
$fileIcon1 = './site/file/source/'. $this->getData(['theme', 'menu', 'burgerIcon1']);
|
||||
|
|
Loading…
Reference in New Issue