DotDragnet
May 24, 2012, 07:04:51 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: follow us on twitter @dotdragnet
 
   Home   Help Search Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Javascript check please  (Read 172 times)
Matt
DDN Contribs
Hero Member
*****
Posts: 1710



View Profile WWW Awards
« on: September 09, 2011, 10:05:02 AM »

This script is throwing up an error, can anyone let me know why and how to fix? Im not a JS person, I use it to load a drop down menu;

Code:
var jMenu_timeout    = 300;
var jMenu_effectTime = 200;
var jMenu_closetimer = 0;
var jMenu_ddmenuitem = 0;
var jMenu_openid = 0;
var jMenu_action = false;
function jMenu_open()
{
jMenu_canceltimer();

if($("a", this).html() == jMenu_openid)
return;

if(jMenu_action)
return;

jMenu_close();

if($("ul", this).size() == 0)
return;

jMenu_action = true;
jMenu_ddmenuitem = $(this).find('ul').fadeIn(jMenu_effectTime, function() {jMenu_action = false;});
jMenu_openid = $("a", this).html();
if (document.getElementById('ul'))
document.getElementById('ul').className = 'current';
}

function jMenu_close()
{
if(jMenu_action)
return;

if(jMenu_ddmenuitem)
{
jMenu_action = true;
jMenu_ddmenuitem.fadeOut(jMenu_effectTime, function() {jMenu_action = false;});
jMenu_ddmenuitem = null;
jMenu_openid = null;
}
}

function jMenu_timer()
{
jMenu_closetimer = window.setTimeout(jMenu_close, jMenu_timeout);
}

function jMenu_canceltimer()
{
if(jMenu_closetimer)
{
window.clearTimeout(jMenu_closetimer);
jMenu_closetimer = null;
}
}

$(document).ready(function() {
$('#menu > li').bind('mouseover', jMenu_open)
$('#menu > li').bind('mouseout',  jMenu_timer)
$('#menu > li > ul').bind('mouseover',  jMenu_canceltimer)
$('#menu > li > ul > li').bind('mouseover',  jMenu_canceltimer)
});

document.onclick = jMenu_close;

Error: $ is not defined

Thanks
Logged

sarahA
DDN Contribs
Hero Member
*****
Posts: 2184



View Profile WWW Awards
« Reply #1 on: September 09, 2011, 11:40:56 AM »

if it's on a WP site then you can't use $ to start your jQuery as it'll clash so it's set up as noconflict. You need to change

Code:
$(document).ready(function() {

to be

Code:
jQuery(document).ready(function($) {

If that doesn't work then need to know which line the error is referring to (firebug should tell you this)
Logged

Matt
DDN Contribs
Hero Member
*****
Posts: 1710



View Profile WWW Awards
« Reply #2 on: September 09, 2011, 11:58:46 AM »

Brilliant, that fixed that - thanks.
Logged

Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF | SMF © 2006-2008, Simple Machines Valid XHTML 1.0! Valid CSS!