Solved

Jquery conflict

Posted on 2013-01-04
15
325 Views
Last Modified: 2013-01-08
I have a page I am building that the client requires a menu with a j query effect.
the problem is that our portal also has to load a jQuery scrip lower in the document and this is causing the menu script not to function.
I was looking at the no conflict and tried adding it to the code but It doesn't seem to make a difference. the issue with the menu is that the drop down care hard to get to with the mouse and the transition is not working.

<script type="text/javascript">
    var dom = {};
dom.query = jQuery.noConflict(true);
</script>


The two conflicting lines seem to be:
Line 13:     <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
and
Line 82: <script type="text/javascript" src="/orms/resources/js/jquery-1.7.2.min.js"></script>

Here is the test page URL: http://dev.pds-austin.com/mustang/test3.asp

Any help would be awesome. Thanks.
0
Comment
Question by:jbrashear72
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 7
15 Comments
 
LVL 25

Expert Comment

by:Kyle Hamilton
ID: 38745762
noconflict doesn't fix two calls to jquery. It resolves namespacing between libraries.

anyway, you need to get rid of one of the jquery calls. preferably the older one. keep the one on line 82.

If you can't remove the one that gets injected, then you can always just put your code below it. That way, you'll be using their jquery call. (put your script below line 82)
0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38751750
Well I can move the script down below the injected jquery but that does not work. jQuery has to load before the menu I am afraid. I tried loading the same jquery from line 82 to the header area but same issue. This is starting to pose a problem.
0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38751754
Here is the current test:
dev.pds-austin.com/mustang/test4.php
0
Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

 
LVL 25

Expert Comment

by:Kyle Hamilton
ID: 38751783
the link goes to 404
0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38751793
Ahk!  sorr I do so much php I added a php extension.
http://dev.pds-austin.com/mustang/test4.asp
0
 
LVL 25

Expert Comment

by:Kyle Hamilton
ID: 38751890
The menu works.

superfish() method is not defined - which is strange, because the superfish script is there...

What is the effect that is missing?
0
 
LVL 25

Accepted Solution

by:
Kyle Hamilton earned 500 total points
ID: 38751994
you can get rid of the superfish script, the first jquery call, and in place of the script at the bottom of the page, use this:


$(function(){
$(".sf-menu > li").on({
  mouseenter : function(){
  $(this).find("ul").fadeIn('slow');
},
  mouseleave : function(){

   $(this).find("ul").fadeOut('slow');
}});

});

Open in new window


Form the css, you'll need to get rid of the top property, and add display: none:

.sf-menu ul {
	position:		absolute;
	/* top:			-999em; */
	width:			200px; /* left offset of submenus need to match (see below) */
	display: none;
}

Open in new window


get rid of top property from this rule too:

.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
	left:			0;
	/* top:		3.7em; */ /* match top ul list item height */
	z-index:		99;
	display: block;
}

Open in new window

0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38752025
If you notice the drop down does not allow your mouse to move to the sub menu. And the transition is not there too.
0
 
LVL 25

Expert Comment

by:Kyle Hamilton
ID: 38752059
did you make the changes to the css?

post the most recent link with the changes from my post
0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38752738
ok Have made changes and the menus are dropped down when the page loads:
http://dev.pds-austin.com/mustang/test4.asp
0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38752845
I think this was the answer:
<script language="javascript">
   $('.sf-menu ul').hide();
 $(function(){
$(".sf-menu > li").on({
  mouseenter : function(){
  $(this).find("ul").fadeIn('slow');
},
  mouseleave : function(){

   $(this).find("ul").fadeOut('slow');
}});

});
  </script>
0
 
LVL 25

Expert Comment

by:Kyle Hamilton
ID: 38752887
you dont need to do it in javascript for that. just display:none in the css.
0
 
LVL 3

Author Comment

by:jbrashear72
ID: 38755530
oh! Perfect! Thank you for all your help!
You where awesome.
0
 
LVL 3

Author Closing Comment

by:jbrashear72
ID: 38755535
Thank you again.
0
 
LVL 25

Expert Comment

by:Kyle Hamilton
ID: 38755598
cheers :)
0

Featured Post

Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question