views:

31

answers:

1

I'm trying to create a simple function, but at runtime firebug says the function does not exist.

Here's the function code:

<script type="text/javascript">
function load_qtip(apply_qtip_to) {
   $(apply_qtip_to).each(function(){
      $(this).qtip(
      {
         content: {
            // Set the text to an image HTML string with the correct src URL to the loading image you want to use
            text: '<img class="throbber" src="/projects/qtip/images/throbber.gif" alt="Loading..." />',
            url: $(this).attr('rel'), // Use the rel attribute of each element for the url to load
            title: {
               text: 'Nieuwsbladshop.be - ' + $(this).attr('tooltip'), // Give the tooltip a title using each elements text
               //button: 'Sluiten' // Show a close link in the title
            }
         },
         position: {
            corner: {
               target: 'bottomMiddle', // Position the tooltip above the link
               tooltip: 'topMiddle'
            },
            adjust: {
               screen: true // Keep the tooltip on-screen at all times
            }
         },
         show: { 
            when: 'mouseover', 
            solo: true // Only show one tooltip at a time
         },
         hide: 'mouseout',
         style: {
            tip: true, // Apply a speech bubble tip to the tooltip at the designated tooltip corner
            border: {
               width: 0,
               radius: 4
            },
            name: 'light', // Use the default light style
            width: 250 // Set the tooltip width
         }
      })
    }
}
</script>

And I'm trying to call it here:

<script type="text/javascript">
// Create the tooltips only on document load
$(document).ready(function() 
{
    load_qtip('#shopcarousel a[rel]');
   // Use the each() method to gain access to each elements attributes
});
</script>

What am I doing wrong?

+2  A: 

You are missing a ), closing the each call.

Change last line in the function declaration to

);}

For similar problems in the future, try pasting your code into http://www.jslint.com/

David Hedlund
Indeed I was, but that wasn't the only problem. When I put 2 functions in the same <script> element it at least found the function.
skerit
@skerit: They do not have to be in the same script block. The reason that the function was not found was that the code in which the function was created contained said error, and as such, could not be created.
David Hedlund