【问题标题】:jquery simple modal help on window loadjquery简单的模式帮助窗口加载
【发布时间】:2011-01-22 22:14:16
【问题描述】:

如果在 html 中有一个名为“#super”的 div,如果不执行任何操作,我正在尝试以简单模式加载它。我设法用我的技能 :D 做到了这一点,这是无请帮助我绝对是 jquery 的菜鸟。

    if( $('super') ){    $("#super").modal({onOpen: function (dialog) {

    dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function () {
            dialog.data.fadeIn('slow');
        });
    });
}});

我正在使用这个 jquery 插件link text

【问题讨论】:

    标签: javascript jquery simplemodal


    【解决方案1】:

    如果#super 不存在,什么都不会发生。因此,以下内容应该适合您的需求:

    $("#super").modal({onOpen: function (dialog) {
        dialog.overlay.fadeIn('slow', function () {
            dialog.container.slideDown('slow', function () {
                dialog.data.fadeIn('slow');
            });
        });
    });
    

    【讨论】:

    • 这个答案比我的好。
    • 谢谢,但如果我将 #super 更改为 #superbas 或如果 html 中不存在 div #super 时我需要它根本不显示的任何内容,它仍会加载为空白模式窗口 :)
    • 您遇到什么错误?您有链接或更多示例代码吗?您可以在 jsfiddle.net 上发布您的问题的工作示例吗?
    • 已修复 :) 你错过了代码中的一个小括号 :) 忘记关闭这个“modal({on”) 非常感谢 :)
    【解决方案2】:

    我不太确定在 if/else 条件下您想要做什么,但要测试某些东西的存在:

    if ($('#super').length) {
        // it exists, do stuff
    }
    else {
        // it doesn't exist, do other stuff. Or nothing
    }
    

    很抱歉,我不能更具体,但我没有使用对话框/模态插件。

    【讨论】:

      【解决方案3】:

      问题是这个检查

      if( $('#super') )
      

      将始终返回 true,因为 jQuery 函数始终返回一个非 false 值的 jQuery 对象。

      试试这个

      if( $('#super').length > 0 )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 2013-02-07
        • 2019-05-12
        • 2013-08-16
        相关资源
        最近更新 更多