?
Solved

Jquery conflict

Posted on 2013-01-04
15
Medium Priority
?
327 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
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 2000 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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
This article discusses how to implement server side field validation and display customized error messages to the client.
In this tutorial viewers will learn how to position items using CSS's three positioning types Create a new HTML document with an internal stylesheet.: Create another div in CSS and name it Absolute : Type "position:absolute;" and "top:10px; left:50p…
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…
Suggested Courses

649 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