javascript - 使用 setTimeout 延迟居中弹出 Javascript

标签 javascript popup settimeout invalid-argument

尝试在设定的时间值后显示居中的弹出窗口,如下所示:

<script type="text/javascript">
    <!--
    function popup(url) {
    var width = 300;
    var height = 200;
    var left = (screen.width - width) / 2;
    var top = (screen.height - height) / 2;
    var params = 'width=' + width + ', height=' + height;
    params += ', top=' + top + ', left=' + left;
    params += ', directories=no';
    params += ', location=no';
    params += ', menubar=no';
    params += ', resizable=no';
    params += ', scrollbars=no';
    params += ', status=no';
    params += ', toolbar=no';
    newwin = window.open(url, 'windowname5', params);
    if (window.focus) {
        newwin.focus()
    }
    setTimeout(popup('`test/login.html'), 5000);
    return false;
}

//-->
//]]>
</script>

但弹出窗口永远不会显示。如果我这样写:

    <script type="text/javascript">
        <!--
        function popup(url) {
            var width = 300;
            var height = 200;
            var left = (screen.width - width) / 2;
            var top = (screen.height - height) / 2;
            var params = 'width=' + width + ', height=' + height;
            params += ', top=' + top + ', left=' + left;
            params += ', directories=no';
            params += ', location=no';
            params += ', menubar=no';
            params += ', resizable=no';
            params += ', scrollbars=no';
            params += ', status=no';
            params += ', toolbar=no';
            newwin = window.open(url, 'windowname5', params);
            if (window.focus) {
                newwin.focus()
            }

            return false;

        }
        setTimeout(popup('`test/login.html'), 5000);
        //-->
        //]]>
    </script>

弹出窗口立即显示,但随后我收到无效参数错误。有建议吗?

最佳答案

setTimout 将函数作为其第一个参数。 popup(...) 不返回函数。试试这个:

setTimeout(function() {popup('`test/login.html');}, 5000)

关于javascript - 使用 setTimeout 延迟居中弹出 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11618765/

相关文章:

Javascript:无法清除超时

javascript - com.gargoylesoftware.htmlunit.ScriptException : Error: Bootstrap's JavaScript requires jQuery version 1. 9.1 或更高版本

css - div 高度和宽度 100% 遵循页面屏幕大小而不是内部元素大小

javascript - Javascript注入(inject)和XSS的区别

javascript - 单击弹出文档的某些部分时,在 IE 中错误地触发 Onblur 事件

javascript - 使用 PhantomJS 下载网页

javascript - 如何根据其他循环中的变量创建定时循环?

node.js - Express.js 响应超时

javascript - 强制文本区域输入以默认文本开头

javascript - 如何在 HttpHandler ProcessRequest 中获取字符串数组值?