This question has been flagged
1 Reply
10808 Views

 I've created a custom theme module and have set up some javascript to handle hiding a utility bar that hides on scrolling.

I've installed the script in my theme/static/src/js folder  and created a my_theme.xml file in my views folder to add the script to the website.assets_frontend.

The script works great on the homepage - but stops working when you load the other pages (pages/contact_us, hello, etc). I can still see the script on all pages when I do a view source.

I'll insert a copy of the my_theme.xml and navbar.js

Thanks!

my_theme.xml:

<?xml version="1.0" encoding="utf-8"?>

<openerp>

<data>

<template id="kdc_assets_frontend" inherit_id="website.assets_frontend" name="Sightac KDC Front End Assets">

<xpath expr="." position="inside">

<script src="/sightac_kdc/static/src/js/navbar.js"></script>

</xpath>

</template>

</data>

</openerp>


navbar.js:


$(window).scroll(function() {

if ($(".navbar").offset().top > 50) {

$('#custom-nav').addClass('utilityhide');

$(".navbar-fixed-top").addClass("top-nav-collapse");

} else {

$('#custom-nav').removeClass('utilityhide');

$(".navbar-fixed-top").removeClass("top-nav-collapse");

}

});

Avatar
Discard
Author Best Answer

OK. Mystery solved. The home page includes a snippet that also run some script to manipulate a canvas. The internal pages don't have this snippet, which triggered a script error. All javascript stopped at that point including my navbar script.

Avatar
Discard

Could you please provide some more information on how you solved it then? Did you call the snippet for other pages or...

Can you anwser please ?

how did you solve this problem? since it's been my toothache, could you please leave full explanation of answer here please? maybe some examples etc.