2013-08-28 2 views
0

Я пытаюсь запустить функцию, когда загружается ящик, для v1.2.5 кажется, что это должен быть атрибут callbackOnShow. Вот мой код, у меня есть синтаксическая ошибка, но поскольку я ноб, мне трудно понять это.Fancybox 1.2.5 callbackOnShow - У меня есть некоторые синтаксические ошибки

$("a#inline").fancybox({ 
      'hideOnContentClick': false, 
      'autoDimensions': false, 
      'frameWidth': 932, 
      'frameHeight': 496, 
      'padding': '0', 
      'overlayOpacity': '0.7', 
      'callbackOnShow': $(function() { 
$('#palette').on('mouseover', 'a', function (event) { 
    $('#PaletteColorName').text("Color: " + event.target.title); 
}); 
$('#palette').on('mouseleave', 'a', function() { 
    $('#PaletteColorName').text("Color: "); 
}); 
}); 

Возможные альтернативы приветствуются. Вот скриптовая версия того, что я пытаюсь получить в fancybox.

JS Fiddle

ответ

1

Несколько вещей там. Вы не должны включать опции в кавычки.

$("a#inline").fancybox({ 
    hideOnContentClick: false, 
    autoDimensions: false 
    //etc... 
}); 

Далее вы не указали свои функции обратного вызова совершенно правильно. Написав такую ​​функцию: callBack: $(function() { ... }); Эта функция будет выполнена. Вы не хотите, чтобы ... вы хотите, чтобы функция запускалась на определенном событии. Так что вы должны сделать, это:

$('a#inline').fancybox({ 
    callbackOnShow: function() { 
     $('#palette').on('mouseover', 'a', function(event) { 
      //... 
     }); 
    } 
}); 

Я не уверен, если это то, что путь в текстовом редакторе, который вы используете, или форматирование только что испортили, когда вы вставили код здесь, но пока не строго необходимо, это очень хорошая идея использовать правильный отступ. Это значительно упрощает определение синтаксических ошибок.

Наконец, вы должны рассмотреть возможность установки Firebug для Firefox, если у вас его еще нет. Это поможет вам выяснить, где у вас синтаксическая ошибка.

+0

Благодарим вас за советы. Я смог заставить Fancybox снова начать функционировать с этим обратным вызовом, однако сценарий все еще не работает. И да, интервал просто копировал его здесь, он правильно отступил в моем коде (я не являюсь амимом!) – TheEks

+0

@ TheEks: вы можете заключить варианты в кавычки, нет никаких проблем с этим, однако Boolean и целые значения окончательно не должны быть заключены в кавычки. Это, например, ''overlayOpacity': '0.7'' скорее должно быть'' overlayOpacity ': 0.7' ... заметить, что опция остается включенной в кавычки, но не целочисленным значением, иначе она вызовет ошибку js. – JFK

+0

@JFK Спасибо за объяснение! Я буду держать это в виду, когда я продолжаю. – TheEks

Смежные вопросы