Nope; wrapping the code didn't work either.

Thanks for the assistance though; looks like I'll have to rewrite
things
for JQuery.

Cheers.

- luis

On Jul 2, 4:54 pm, "Ganeshji Marwaha" <[EMAIL PROTECTED]> wrote:
> or.
>
> after noConflict(), use the following code wrapped in...
>
> (function($)
> { // This creates a closure, to which u can pass jQuery on execution
> $(function() { // This is document.ready
> // more code using $ as alias to jQuery
>
> });
> })(jQuery);
>
> On 7/2/07, Ganeshji Marwaha <[EMAIL PROTECTED]> wrote:
>
>
>
> > In the main js, once u have said $jc = jquery.noConfilct(), you should
> > start using $jc everywhere instead of $. That is the actual purpose of
> > noConflict.
>
> > -GTG
>
> > On 7/2/07, sprak <[EMAIL PROTECTED]> wrote:
>
> > > Haven't had any success with that either; using the (jQuery) syntax
> > > causes the
> > > browser to throw up errors.  Maybe a walk through the flow of things
> > > will
> > > help.
>
> > > Page loads up with like this:
> > > <html>
> > > <head>
> > > <script language="JavaScript" type="text/javascript" src="/design/en/
> > > javascript/prototype.js"></script>
> > > <script language="JavaScript" type="text/javascript" src="/design/en/
> > > javascript/jquery-latest.js"></script>
> > > <script language="JavaScript" type="text/javascript" src="/design/en/
> > > javascript/main.js"></script>
> > > </head>
> > > ...
> > > <body>
> > > ...
> > > <script>
> > > // Prototype code here
> > > </script>
> > > ...
> > > </body>
> > > </html>
>
> > > main.js has this as its code:
> > > var $JQ = jQuery.noConflict();
>
> > > $JQ(document).ready(function($) {
> > >     // mainnav BEGIN
> > >     // add a state on all the menus:
> > >     $("#mainNav > ul li > a + ul").attr("toggle", "down");
> > >     // collapse all but class=open:
> > >     $("#mainNav > ul li > a").not(".open").find("+
> > > ul").slideUp(1).attr("toggle", "up");
> > >     // click handler sub menu on level 1
> > >     $("#mainNav > ul > li > a:not(.skip)").click(function() {
> > >         var menu = $(this).find("+ [EMAIL PROTECTED]'up']");
> > >         menu.slideDown("slow");
> > >         $("#mainNav > ul li > a +
> > > [EMAIL PROTECTED]'down']").slideUp("slow").attr("toggle", "up");
> > >         menu.attr("toggle", "down");
> > >         return false;
> > >     });
> > >     // click handler sub menu on level 2
> > >     $("#mainNav > ul > li > ul > li > a:not(.skip)").click(function()
> > > {
> > >         var menu = $(this).find("+ [EMAIL PROTECTED]'up']");
> > >         menu.slideDown("slow");
> > >         $("#mainNav > ul > li > ul > li > a:not(.open) +
> > > [EMAIL PROTECTED]'down']").slideUp("slow").attr("toggle", "up");
> > >         menu.attr("toggle", "down");
> > >         return false;
> > >     });
> > >     // load page if skipped from accordeon fx:
> > >     $("#mainNav > ul > li a.skip").click(function() {
> > >         document.location.href = $(this).attr("href");
> > >         return true;
> > >     });
> > >     // mainnav END
> > >     // // highlight award on mouseover:
> > >     $('#awards img:not(.active)').after('<img class="active"
> > > src="design/en/images/finest200706/awards_on.png" usemap="#awards"
> > > width="629" height="68">');
> > >     $('#awards img.active').hide();
> > >     var hideAwards = null;
> > >     $('#awards area').mouseover(function() {
> > >         if(hideAwards) clearTimeout(hideAwards);
> > >         $('#awards img.active').show();
> > >         var coords = $(this).attr('coords').split(','); // coords =
> > > (l,t,r,b)
> > >         $('#awards img.active').css('clip','rect(0px,'+ coords[2] +'px,
> > > 68px,'+ coords[0] +'px)');
> > >         // hide it after 4 sec
> > >         hideAwards = setTimeout("$('#awards img.active').hide();",
> > > 4000);
> > >         return false;
> > >     });
> > >     // searchResults BEGIN
> > >     // add a state on all the menus:
> > >     $("#searchResults > ul > li > a + ul").attr("toggle", "down");
> > >     // collapse all but class=open:
> > >     $("#searchResults > ul > li > a").not(".open").find("+
> > > ul").slideUp(1).attr("toggle", "up");
> > >     // click handler
> > >     $("#searchResults > ul > li > a").click(function() {
> > >         var menu = $(this).find("+ [EMAIL PROTECTED]'up']");
> > >         menu.slideDown("slow");
> > >         $("#searchResults > ul > li > a +
> > > [EMAIL PROTECTED]'down']").slideUp("slow").attr("toggle", "up");
> > >         menu.attr("toggle", "down");
> > >         return false;
> > >     });
> > >     // searchResults END
> > > });
>
> > > Everything seems to load up fine; the Prototype code runs correctly,
> > > and
> > > jQuery seems to add the appropriate states, attributes, handlers on
> > > the
> > > navigation elements.  Only the current menu item is open, and the rest
> > > are closed.
>
> > > Clicking on a closed menu item causes the jQuery code to be executed.
> > > However, something deep in the bowels does not return the same
> > > object as it would if Prototype was not in place.
>
> > > Very puzzling; if no answer is found soon, I'm just going to abort and
> > > rewrite
> > > the Prototype code into JQuery.  Joy...
>
> > > Cheers.
>
> > > - luis
>
> > > On Jul 2, 2:27 pm, "Ganeshji Marwaha" <[EMAIL PROTECTED]> wrote:
> > > > I think the sliding menu plugin that you are using is not playing well
> > > with
> > > > the jquery standards for plugin- development in terms of the $
> > > namespace.
>
> > > > You might have to wrap the whole of the sliding menu code in a primary
> > > > closure like given below, and it might start working. Lemme know how
> > > it
> > > > goes.
>
> > > > (function($) {
>
> > > > // copy and paste the sliding menu code here
>
> > > > })(jQuery);
>
> > > > -GTG
>
> > > > On 7/2/07, sprak < [EMAIL PROTECTED]> wrote:
>
> > > > > Sorry, that was a cut & paste error in my post; yes, prototype is
> > > > > included
> > > > > above jquery.  The protoype code on the pageworks properly, but the
> > > > > sliding
> > > > > menu powered by jquery does not.
>
> > > > > On Jun 29, 2:35 pm, "Ganeshji Marwaha" <[EMAIL PROTECTED]> wrote:
> > > > > > ur last option is the best :-)
>
> > > > > > but, did u try adding prototype.js above jquery.js
>
> > > > > > -GTG
>
> > > > > > On 6/29/07, sprak <[EMAIL PROTECTED]> wrote:
>
> > > > > > > Greetings; I am having a bit of trouble getting JQuery 1.1.2 and
> > > > > > > Prototype 1.5.0 to play
> > > > > > > nice with each other.  Here is my page (abbreviated) and script
> > > with
> > > > > > > JQuery alone.
>
> > > > > > > HTML:
> > > > > > > <html>
> > > > > > > <head>
> > > > > > > ...
> > > > > > > <script language="JavaScript" type="text/javascript"
> > > src="/design/en/
> > > > > > > javascript/finest200706/jquery-latest.js"></script>
> > > > > > > <script>
> > > > > > > jQuery.noConflict();
> > > > > > > </script>
> > > > > > > </head>
> > > > > > > <body>
> > > > > > > ...
> > > > > > > <div id="mainNav">
> > > > > > > <ul id="menu">
> > > > > > > <li>
> > > > > > >      <a href="/solutions">Solutions</a>
> > > > > > >      <ul>
> > > > > > >           <li>
> > > > > > >                <a class="" href="/solutions/your_needs">Your
> > > Needs</a>
> > > > > > >                <ul>
> > > > > > >                     <li><a class="skip"
> > > href="/solutions/your_needs/
> > > > > > > network_protection">Network Protection</a></li>
> > > > > > >                </ul>
> > > > > > >           </li>
> > > > > > >      </ul>
> > > > > > > </li>
> > > > > > > ...
> > > > > > > <li>
> > > > > > >      <a class="open" href="/portal">Portal</a>
> > > > > > >      <ul>
> > > > > > >           <li><a class="skip" href="/pref">Preferences</a></li>
> > > > > > >      </ul>
> > > > > > > </li>
> > > > > > > </ul>
> > > > > > > ...
> > > > > > > </div>
> > > > > > > </body>
> > > > > > > </html>
>
> > > > > > > Script:
> > > > > > > jQuery(document).ready(function() {
> > > > > > >     // mainnav BEGIN
> > > > > > >     // add a state on all the menus:
> > > > > > >     jQuery("#mainNav > ul li > a + ul").attr("toggle", "down");
> > > > > > >     // collapse all but class=open:
> > > > > > >     jQuery("#mainNav > ul li > a").not(".open").find("+
> > > > > > > ul").slideUp(1).attr("toggle", "up");
> > > > > > >     // click handler sub menu on level 1
> > > > > > >     jQuery("#mainNav > ul > li > a:not(.skip)").click(function()
> > > {
> > > > > > >         var menu = jQuery(this).find("+ [EMAIL PROTECTED]'up']");
> > > > > > >         menu.slideDown("slow");
> > > > > > >         jQuery("#mainNav > ul li > a +
> > > > > > > [EMAIL PROTECTED]'down']").slideUp("slow").attr("toggle", "up");
> > > > > > >         menu.attr("toggle", "down");
> > > > > > >         return false;
> > > > > > >     });
> > > > > > >     // click handler sub menu on level 2
> > > > > > >     jQuery("#mainNav > ul > li > ul > li >
> > > > > > > a:not(.skip)").click(function() {
> > > > > > >         var menu = jQuery(this).find("+ [EMAIL PROTECTED]'up']");
> > > > > > >         menu.slideDown("slow");
> > > > > > >         jQuery("#mainNav > ul > li > ul > li > a:not(.open) +
> > > > > > > [EMAIL PROTECTED]'down']").slideUp("slow").attr("toggle", "up");
> > > > > > >         menu.attr("toggle", "down");
> > > > > > >         return false;
> > > > > > >     });
> > > > > > >     // load page if skipped from accordeon fx:
> > > > > > >     jQuery("#mainNav > ul > li a.skip").click(function() {
> > > > > > >         document.location.href = jQuery(this).attr("href");
> > > > > > >         return true;
> > > > > > >     });
> > > > > > >     // mainnav END
> > > > > > > });
>
> > > > > > > The menu appears with one item already open specified by a <a>
> > > tag
> > > > > > > with
> > > > > > > class="open".  Clicking on a closed menu item slides that menu
> > > open
> > > > > > > and closes
> > > > > > > the one already open.  This sliding effect works fine without
> > > > > > > Prototype added.
>
> > > > > > > Once I add Prototype by modifying my HTML like this:
> > > > > > > <script language="JavaScript" type="text/javascript"
> > > src="/design/en/
> > > > > > > javascript/finest200706/jquery-latest.js"></script>
> > > > > > > <script language="JavaScript" type="text/javascript"
> > > src="/design/en/
> > > > > > > javascript/prototype.js"></script>
> > > > > > > <script>
> > > > > > > jQuery.noConflict();
> > > > > > > </script>
>
> > > > > > > The sliding effect stops; no errors are reported in Firebug or
> > > the
> > > > > > > error console.
> > > > > > > Using Firebug, I stepped through the code and found that buried
> > > deep
> > > > > > > in the
>
> ...
>
> read more ยป

Reply via email to