Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-将匿名函数重写为命名函数_Javascript_Jquery_Function - Fatal编程技术网

Javascript-将匿名函数重写为命名函数

Javascript-将匿名函数重写为命名函数,javascript,jquery,function,Javascript,Jquery,Function,我试图在我的网页上实现宝丽来画廊代码。 在特定的网站上,我将宝丽来画廊代码放在了a中。当polaroid gallery代码放置在滑出面板内时,我在控制台中不断遇到以下错误: Uncaught TypeError: Cannot read property 'length' of undefined photostack.js:54 shuffleMArray photostack.js:325 moveItems photostack.js:390 Photostack._shuffle

我试图在我的网页上实现宝丽来画廊代码。 在特定的网站上,我将宝丽来画廊代码放在了a中。当polaroid gallery代码放置在滑出面板内时,我在控制台中不断遇到以下错误:

Uncaught TypeError: Cannot read property 'length' of undefined photostack.js:54 
shuffleMArray photostack.js:325 
moveItems photostack.js:390 
Photostack._shuffle photostack.js:263 
Photostack._showPhoto photostack.js:166 
Photostack._open photostack.js:180 
Photostack._initEvents photostack.js:130 
Photostack._init photostack.js:99 
Photostack (index):431 
(anonymous function)
我注意到,当宝丽来画廊代码被放置在滑出面板外时,我在控制台中没有收到此错误。(一切正常)

说到JavaScript,我是个傻瓜,但我认为调用宝丽来画廊的JS是在运行时创建的匿名函数。当polaroid gallery位于滑出面板内时,这个匿名函数似乎没有运行-因此我想我必须将匿名函数重写为命名函数,以便让代码在滑出面板内运行<如果我错了,请纠正我

function Photostack()
{
    document.getElementById( 'photostack-3' ), {
    callback : function( item ) {
        console.log(item)
    }
}

Photostack();
这是原始代码:(匿名函数)

这是我命名的函数尝试:(不工作-我需要帮助!


提前感谢您

您应该在非零尺寸的容器上使用此
Photostack
。使用
显示隐藏的元素:无
的大小为零

function Photostack()
{
    document.getElementById( 'photostack-3' ), {
    callback : function( item ) {
        console.log(item)
    }
}

Photostack();
执行顺序中的某些行

第410行:
this.size.*
设置为
offset*
,对于隐藏元素为零。
第285行:
columns=Math.ceil(this.size.internal.height*…
为0
第299行:
var grid=[]
然后不向数组中添加任何内容,因为
为0
第325行:
grid=shuffleMArray(grid);

第54行:
inArrLen=marray[0]。长度
,其中
marray
grid
的本地名称,即
[]

([])[0]。长度→ <代码>(未定义)。长度
→ <代码>错误!


PS:如果您使用dev.tools中的
break-on-errors
功能并在堆栈中漫游,您将能够自己进行此类研究。

首先要知道的是,如果您将函数称为“Photostack”,您将隐藏您尝试使用的库的名称。不,使用命名与未命名函数在这里不是您的问题。您的第二次尝试完全出错。您可以对您尝试执行的操作进行简要说明吗?可能var photostack=new photostack(..…是您正在寻找的。因此,在执行JS之前,无法等待特定面板显示:block?您可以使用跟踪样式的更改,但此方法不适用于所有浏览器。