2

I'm using the BigSlide.js sliding menu on my drupal site, which i've built into the theme, and it works fine on every page, apart from on /edit/ pages. E.g. user/%/edit.
When clicking the target menu button nothing happens - the menu should slide out from the left.

In the chrome console i'm getting:

Uncaught TypeError: undefined is not a function

Console output

As you can see from the image above it's referencing bigSlide.js, I've tried updating jQuery to 1.9 with the Jquery update module as i'm using 1.7 and that didn't help, and i've made sure all my JS files are being loaded on /edit/ pages.

What could be the problem?

Here's the issue spot within bigSlide.js

enter image description here

Any help much appreciated.

2 Answers 2

1

I had installed the dev version of jQuery Update 7.x-2.3+15-dev, which allows you to specify different versions of jQuery for normal and administrative pages:

Dev Version of jQuery options

I'd done this because I had previously required jQuery 1.5 for something in the backend. It appears /edit/ pages are considered 'administrative' pages - (which seems odd to me) and therefor were using 1.5 which broke the bigSlide.js menu. Changing the admin pages back to 1.7 fixed the issue.

0

On a default Drupal install node/%/edit will run with the admin theme. Go to admin/appearance and switch of the setting for 'Use the administration theme when editing or creating content'. Then check if your menu works. If it does then you need to build the menu into the admin theme and it is not a javascript issue as you might suspect.

You also might have overlay running. This can cause issues with javascript menus as well. Once again, switch overlay off and check if it works without it.

4
  • The admin theme setting is already switched off - editing uses the same default theme as rest of site. Overlay is also switched off - but thanks for suggestions.
    – NickTr
    Aug 29, 2014 at 17:39
  • Another thing to note is that when adding content the menu works, it's just editing, which makes it even more confusing.
    – NickTr
    Aug 29, 2014 at 17:41
  • I have just successfully added the menu to a block and it works all over my site. I used the example code from the website, pasted it into a block, and added the bigslide.js and a startup js file to theme info file. I set jquery version to 1.10 and disabled admin theme on edit. I then added the lot to seven theme and set edit pages to use admin theme. I now had an issue in admin theme that menu opens but does not close. I checked and it is because the slide out menu covers the anchor and I cannot therefore click on the anchor. So basically a small issue that can be corrected. So it works by me Aug 30, 2014 at 4:48
  • Interesting way to do it - hadn't thought about sticking it straight into a block - anyway, turns out it was my jQuery version....see answer below for explanation.
    – NickTr
    Aug 31, 2014 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.