var scaleJssor = new Array();
for(myloop=0; myloop<jssor_slider.length; myloop++)
{
scaleJssor.push(
function() {
var parentWidth = jssor_slider[myloop].$Elmt.parentNode.clientWidth;
if (parentWidth)
{
//alert("executing ScaleSlider");
jssor_slider[myloop].$SetScaleWidth(Math.max(Math.min(parentWidth-100, 960), 230));
}
else
window.setTimeout(<here I want to pass this function>, 30);
});
}
以上只是一个代码片段,我只想知道如何在函数匿名的setTimeout()
函数中传递函数,我知道如果我给函数命名,我可以轻松传递它,但我希望通过不给任何名称起作用。
答案 0 :(得分:1)
你可以使用下一个
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|tiff|css|js)$ [NC]
RewriteRule !^maintenance\.html$ maintenance.html [R=307,L,NC]
这适用于下一个案例
someCode(function funcName() {
// here you can access to function with funcName
});
答案 1 :(得分:1)
虽然这不是一个足够好的代码,因为你在循环中反复定义相同的功能。您应该在循环外定义函数。我只是回答你关于setTimeout()函数的问题。 如果将参数传递给函数,以下内容可能会很有用。
function ScaleJssor(k) {
var parentWidth = jssor_slider[k].$Elmt.parentNode.clientWidth;
if (parentWidth)
{
//alert("executing ScaleSlider");
jssor_slider[k].$SetScaleWidth(Math.max(Math.min(parentWidth-100, 960), 230));
}
else
window.setTimeout(function(){ScaleJssor(k)}, 30);
}
我认为如果您在示例中使用上述代码,则无论如何都不需要使用循环。
答案 2 :(得分:0)
在setTimeout。check this
内调用函数setTimeout(function(){ alert("Hello"); }, 3000);
否则
var myVar;
function myFunction() {
myVar = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}