toad78 — 2013-07-25T18:41:39-04:00 — #1
On this page I have three objects using jQuery. One is the main menu at the top, the supporting menu on the left, and the Accordion in the content.
On all other pages in the site, the main and left menu work fine (I only have one jQuery script running). With the Accordion, it's another story. Because there is more than one script loading (from the main menu and the Accordion), the main menu and the left menu do not function correctly. So I disabled the loading of jQuery in the Accordion, but doing that disables the Accordion affect.
picnictutorials — 2013-07-25T19:25:04-04:00 — #2
Try running jquery conflict. I believe it's called that. Make sure your running the latest jquery and all the plugins.
ralphm — 2013-07-25T19:58:45-04:00 — #3
It's called jQuery noConflict
But also note that you are loading jQuery twice on your page, which is a mistake and often causes problems, so I'd address that first.
toad78 — 2013-07-25T20:36:40-04:00 — #4
This is how the page is set up:
The left menu is running on jQuery, but the Accordion does not work when an item is clicked.
The main menu is loading and running jQuery.
The Accordion needs jQuery to run, but when I removed the jQuery call (so it would run only on the Main Menu's jQuery), the Accordion is broken. I have already tried applying the 'noConflict', but it breaks the Accordion.
If I upgrade the jQuery to 1.10.2, the Main Menu, the left menu, and the Accordion do not work.
I have already addressed the fact that I am running two jQuery's, which is where the conflict resides. My problem is trying to understand that when I disable one jQuery call, two out of the three items needing jQuery do not work.
picnictutorials — 2013-07-25T21:31:33-04:00 — #5
You should never need to run two jquerys. When you update to the latest jquery you often need to do the same with the plugins.
paul_wilkins — 2013-07-26T00:57:36-04:00 — #6
One of your jQuery's is attempting to get jQuery 1.4.6 from google hosting, which is not a valid jQuery version. You can see all the jQuery versions at http://code.jquery.com/#jquery-all
Version 1.4.4 is the most recent of the 1.4 series.
Having said that though, remove all but the most recent version of jQuery on your page, that being 1.6.2, and remove the noConflict. That noConflict removes the $ symbol and is only to be used when you have some other library that also uses the $ symbol, this achieving what noConflict says. In your situation, that won't help you, so remove the noConflict.
- Remove all but the 1.6.2 jQuery from your page
- Remove the noConflict
toad78 — 2013-07-26T01:45:31-04:00 — #7
Yes, I realize that. What I've done now is that I'm running only one jQuery and the Accordion still isn't working, but the menus are. I went to the developer of the Accordion and their script does show it is running the version I'm loading, but for some reason this Accordion is no longer working.
toad78 — 2013-07-26T01:49:14-04:00 — #8
I caught your comments after I responded with my previous post. I did exactly what you mentioned and everything is working great! I didn't realize that the 'noConflict' code was causing the raucous. I thought the whole point of the 'noConflict' was to prevent any other library from loading, but now I know that is not the case.