problème Ancres, jQuery et routes cakephp

Par Bomber, il y a 11 ans


Bonjour ,

j ai un soucis avec mes ancres sous cakephp, en effet depuis quelques jours elles ne fonctionnent plus, mais uniquement sur la page d'accueil.

mes ancres sont en "brut" ```
<a href="#id"></a>

et ca fonctionnait à la base , mais maintenant non ^^ Voici mon scrool.js

(function($){

var sections = [];
var id = false;
var $nav = $('.navbar');
var $aNav = $('a', $nav);

$aNav.click(function(e){
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $($(this).attr('href')).offset().top
    });

});

$aNav.each(function(){ //je recupère tous mes liens de la div nav
    sections.push($($(this).attr('href'))); 
    //$(recupère l'attribut href soit #quelquechose ) repasse dans jQuery
});
$(window).scroll(function(e){ //lorsque je scroll
    var scrollTop = $(this).scrollTop() + ($(window).height() / 3); //ecoute la position du scroll + 1/2 hauteur fenetre
    for(var i in sections){
        var section = sections[i];
        if(scrollTop > section.offset().top){
            scrolled_id = section.attr('id');
        }
    }
    if(scrolled_id != id){
        id = scrolled_id;
        $aNav.removeClass('current');
        $('a[href="#' + id + '"]', $nav).addClass('current');
    }

});

})(jQuery);

(function($){

var sections = [];
var id = false;
var $nav = $('.big_box');
var $aNav = $('a', $nav);

$aNav.click(function(e){
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $($(this).attr('href')).offset().top
    });

});

$aNav.each(function(){ //je recupère tous mes liens de la div nav
    sections.push($($(this).attr('href'))); 
    //$(recupère l'attribut href soit #quelquechose ) repasse dans jQuery
});
$(window).scroll(function(e){ //lorsque je scroll
    var scrollTop = $(this).scrollTop() + ($(window).height() / 3); //ecoute la position du scroll + 1/3 hauteur fenetre
    for(var i in sections){
        var section = sections[i];
        if(scrollTop > section.offset().top){
            scrolled_id = section.attr('id');
        }
    }
    if(scrolled_id != id){
        id = scrolled_id;
        $aNav.removeClass('current');
        $('a[href="#' + id + '"]', $nav).addClass('current');
    }

});

})(jQuery);

(function($){

var sections = [];
var id = false;
var $nav = $('.btn_return_top');

$nav.click(function(e){
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $($(this).attr('href')).offset().top
    });

});

})(jQuery);

hash = function(h) {
if (history.pushState) {
history.pushState(null, null, h);
}else{
location.hash = h;
}
}

mon fichier routes.php

<?php
/
Router::connect('/', array('controller' => 'pages', 'action' => 'index', 'home'));

Router::connect('/conditions-vente', array('controller' => 'pages', 'action' => 'conditions_vente'));
Router::connect('/sitemap', array('controller' => 'pages', 'action' => 'sitemap'));
Router::connect('/mentions-legales', array('controller' => 'pages', 'action' => 'mentions_legales'));
Router::connect('/confidentialite', array('controller' => 'pages', 'action' => 'confidentiel'));
Router::connect('/contact', array('controller' => 'pages', 'action' => 'contact'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
/*Boutique*/

Router::connect('/boutique', array('controller' => 'triptyques', 'action' => 'shop'));
Router::connect('/boutique/ardoises', array('controller' => 'triptyques', 'action' => 'ardoises'));
Router::connect('/boutique/cordages', array('controller' => 'triptyques', 'action' => 'cordages'));
Router::connect('/boutique/bougies', array('controller' => 'triptyques', 'action' => 'bougies'));
Router::connect('/boutique/porte_bijoux', array('controller' => 'triptyques', 'action' => 'porte_bijoux'));

Router::connect('/boutique/triptyque/*', array('controller' => 'triptyques', 'action' => 'shop_view'));

/* Galerie */ 

Router::connect('/galerie', array('controller' => 'triptyques', 'action' => 'show'));

Router::connect('/galerie/triptyque/*', array('controller' => 'triptyques', 'action' => 'show_view'));

/*Achat et infos personelles*/
Router::connect('/info-perso/*', array('controller' => 'clients', 'action' => 'personal_informations'));

/* Admin */ 

Router::connect('/admin', array('controller'=> 'users',
                                'action' => 'index'));

/**

/**

Si vous avez une idée je suis preneur =)

3 réponses

Lartak, il y a 11 ans

Bonsoir.
Si tu n'as rien modifié sur le fichier javascript en question, vérifies dans l'inspecteur de ton navigateur s'il n'y a pas de problème ou penses à vider le cache de ton navigateur par exemple.
Il est inutile de créer un nouveau sujet pour le même problème (Liens Hs du jour au lendemain OVH).

Bomber, il y a 11 ans

Bonsoir,
désolé je pensais avoir pu précisé le sujet.
Le fichier n'as pas été modifié , je n'ai aucun problème détecté au sujet du javascript dans mon navigateur (le fichier est bien chargé).
le cache du navigateur a été vidé plusieurs fois.

Bomber, il y a 11 ans

Sujet résolu c'etait un probleme de Css