1
function slideSwitch() {
var $active = $('#slideshow DIV.active');

if ( $active.length == 0 ) $active = $('#slideshow DIV:last');

// use this to pull the divs in the order they appear in the markup
var $next =  $active.next().length ? $active.next()
    : $('#slideshow DIV:first');

// uncomment below to pull the divs randomly
// var $sibs  = $active.siblings();
// var rndNum = Math.floor(Math.random() * $sibs.length );
// var $next  = $( $sibs[ rndNum ] );


$active.addClass('last-active');

$next.css({opacity: 0.0})
    .addClass('active')
    .animate({opacity: 1.0}, 1000, function() {
        $active.removeClass('active last-active');
    });
}

I added this script to a page with additional js, it was working stand alone but now its errors in firebug, newbie, thx for any help...

$(function() {
     setInterval( "slideSwitch()", 5000 );
});

The error message is:

$ is not defined index.html()()index.html (line 126)
$(function() {
3
  • what exactly is the original page, what did you add to it? what library are you using? Commented Apr 23, 2009 at 19:01
  • Do not use variables beginning with $, especially if you are using frameworks, to avoid confusion. Commented Apr 23, 2009 at 19:09
  • i agree that you should not use variables beginning with $ ...if line 126 is where you define the callback, your syntax is fine and the problem must be elsewhere. maybe post your entire file Commented Apr 23, 2009 at 19:17

3 Answers 3

2

Have you made sure the new page is including jquery?

If so, add the code in piece by piece to narrow down where the problem is happening. Let me know what happens.

Sign up to request clarification or add additional context in comments.

Comments

0

It looks like you're using jQuery, although you don't mention it. Did you load the jQuery library? The Prototype library also defines a $() function.

2 Comments

yea <script type='text/javascript' src='ajax.googleapis.com/ajax/libs/jquery/1.3.2/…> <script type="text/javascript" src="js/jquery-ui.js"></script> <script type="text/javascript" src="js/jquery-fluid16.js"></script> <script type="text/javascript" src="js/thickbox.js"></script>
also double check that you are not including both prototype and jquery
0

You are loading jquery AFTER your javascript code executes. That simply won't work. Put your javascript in an exeternal file and load it after jquery.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.