Javascript Fancybox 1.2.5 callbackOnShow-我有一些语法错误
我试图在加载框时运行一个函数,对于v1.2.5,它似乎应该是callbackOnShow属性。这是我的代码,我有一个语法错误,但由于我是一个noob,我很难找出它Javascript Fancybox 1.2.5 callbackOnShow-我有一些语法错误,javascript,jquery,html,fancybox,Javascript,Jquery,Html,Fancybox,我试图在加载框时运行一个函数,对于v1.2.5,它似乎应该是callbackOnShow属性。这是我的代码,我有一个语法错误,但由于我是一个noob,我很难找出它 $("a#inline").fancybox({ 'hideOnContentClick': false, 'autoDimensions': false, 'frameWidth': 932, 'frameHeight': 496,
$("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中实现的功能的一个小提琴版本
这里有一些东西。您不应该将选项括在引号中
$("a#inline").fancybox({
hideOnContentClick: false,
autoDimensions: false
//etc...
});
其次,您没有正确指定回调函数。通过编写如下函数:callBack:$(function(){…})代码>该函数将实际执行。你不想那样。。。您希望函数在特定事件上运行。所以你应该做的是:
$('a#inline').fancybox({
callbackOnShow: function() {
$('#palette').on('mouseover', 'a', function(event) {
//...
});
}
});
我不确定在你使用的文本编辑器中是这样的,还是当你把代码粘贴到这里的时候格式被弄乱了,但是虽然不是严格必要的,但是使用适当的缩进是一个非常好的主意。它使发现语法错误变得容易得多
最后,如果你还没有安装Firefox,你应该考虑安装它。它将帮助您找出语法错误的位置。谢谢您提供的提示。我能够让Fancybox在定义了回调的情况下重新开始工作,但是,脚本仍然无法在那里工作。是的,空格只是复制到这里,它在我的代码中正确缩进(我不是一个阿米尔!)@Theeeks:你可以用引号括起选项,这没有任何问题,但是布尔值和整数值绝对不应该用引号括起。例如,'overlayocapacity':'0.7'
应该是'overlayocapacity':0.7
…请注意,该选项仍用引号括起来,但不是整数值,否则将触发js错误。@JFK感谢您的解释!我会记住这一点。