views:

361

answers:

2

I am trying to make a jquery tool tip to open up a link in a mootools lightbox.

Can you please help me... Here is my Code:

Header

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml"&gt;

<script language="javascript" type="text/javascript" src="js/bumpbox.js"></script>
<script src="js/sifr.js" type="text/javascript"></script>
<script src="js/sifr-config.js" type="text/javascript"></script>
<script src="http://cdn.jquerytools.org/1.1.2/full/jquery.tools.min.js" type="text/javascript"/></script>
    <script type="text/javascript">
        //no conflict jquery
        var $ = jQuery.noConflict();
        //jquery stuff
    </script>
    <script language="javascript" type="text/javascript" src="js/mootools.js"></script>
<link rel="stylesheet" href="style.css" type="text/css" media="screen,projection" />

<head>

Now here is my body Code:

    <p>Phasellus pulvinar lacinia sapien eu lacinia. Sed fermentum augue et lectus ullamcorper quis cursus justo venenatis. Aenean id molestie leo. Vivamus ultrices lobortis velit, quis euismod neque aliquet quis. Aliquam et nisi nibh. Ut dolor dui, volutpat id molestie ut, tristique ut tellus. Nunc ut risus sed magna dictum porttitor.</p>

<!-- trigger element. a regular workable link -->
<div id="webdude">
<a id="laurence" title="asdadasd">asdadasd</a> <!-- tooltip element -->
<div class="tooltip" id="small">
    <div><span class="name">asdadasd</span><br />
        asdadasd <span><a href="^myDIV" class="bumpbox" rel="480-480" title="inline Content">[+]</a></span></div>
</div>
</div>
</div>
<div id="myDIV">
<div class="clear"></div>
  <span>Inline content</span>
  <p>This is some inline content which is <span class="style1">hidden onload, and then displayed in the bumpbox accordingly</span></p>
  <p>Simply give your inline content an ID, fill it with content. Reference the hidden content by using the bumpbox, assigning the href tag with a "^". </p>
  <p>For example, this content's DIV ID is "myDIV" and the bumpbox link href has the content href="^myDIV". That's it.</p>
</div>

Here is my footer:

<script>
// What is $(document).ready ? See: http://flowplayer.org/tools/using.html#document_ready

$(document).ready(function() {

    // enable tooltip for "download" element. use the "slide" effect
    $("#laurence").tooltip({ 
    effect: 'slide',
    offset: [60, 40] }); 

});
</script>
+5  A: 

you ruin the noConflict concept by reassigning the jquery to the $ var ..

use jQuery.noConflict(); without assigning to a variable, and after that use jQuery instead of $

so change

<script type="text/javascript">
    //no conflict jquery
    var $ = jQuery.noConflict();
    //jquery stuff
</script>

to

<script type="text/javascript">
    //no conflict jquery
    jQuery.noConflict();
    //jquery stuff
</script>

and

$(document).ready(function() {

    // enable tooltip for "download" element. use the "slide" effect
    $("#laurence").tooltip({ 
    effect: 'slide',
    offset: [60, 40] }); 

});

to

jQuery(document).ready(function() {

    // enable tooltip for "download" element. use the "slide" effect
    jQuery("#laurence").tooltip({ 
    effect: 'slide',
    offset: [60, 40] }); 

});
Gaby
if he uses a mootols version greater than 1.2.1, it wont take over the $ assignment anyway but use document.id instead... he can then wrap up mootools code in a closure that passes document.id to $ like `(function($) { // mootools code and $ })(document.id);` - no changes needed in code anywhere, particularly as he can always refer to jQuery $ as jQuery from a mootools function
Dimitar Christoff
A: 

If you wrap the jQuery like this, you wont have change your code. The $ scope will become isolated from the rest of the code and wont cause any conflict with other js framework.

(jQuery.noConflict())(function($) {    
   // enable tooltip for "download" element. use the "slide" effect
   $("#laurence").tooltip({ 
   effect: 'slide',
   offset: [60, 40] 
}); 
slarek