缺水的海豚

缺水的海豚 VIP2

75飞吻 2016-11-16 加入 来自重庆市

(这个人懒得留下签名)

缺水的海豚 最近的提问

缺水的海豚 最近的回答

  • 2017-4-6 9:59:8为什么用layer.close('loading')关不掉layer.load产生的中回答:

    @白板 哦,我以为代码本身就是放在layer.ready里面的。layer 3.0.2 的版本里面好像作者想取消这个ready功能,但是不行,我原来发过帖子问这个事情,后来发现不行,如果是在页面load时就要进行ajax请求,那样loading的弹出框确实有问题(还有样式问题)。现在3.0.3貌似又取消了,还是建议放在ready里面。
  • 2017-4-6 9:54:472017案例的一个Bug中回答:

    哈哈,忘记了全屏功能了。
    但是,这个也稍微有点不和逻辑吧。一般来说,点关闭按钮,点再快也不应该触发全屏动作啊。就动作来说,双击可以触发全屏动作,或者专门给一个最大化的按钮也可以吧,嘿嘿。
    既然是触发了全屏动作,就把分给第一个了,谢谢。
  • 2017-4-3 16:53:16为什么用layer.close('loading')关不掉layer.load产生的中回答:

    根据你的代码,个人觉得可能是页面产生了多次ajax请求,全局的index已经被覆盖了,你后面那个setTimeout的方法生效并不一定是index对了,而是时间到了,才执行的。
    以上只是个人想法。
    我建议:将关闭loading的方法改用closeAll('loading'),并且放在ajax请求的complete方法里面,就只用写一次了,不用在success和error两个地方都放closeAll。
  • 2017-2-28 5:4:17大版本前奏曲:layui 1.0.9_rls 发布,1.x尾篇中回答:

    产品刚刚上线完,就抢到一个沙发,哈哈
  • 2017-2-28 5:3:27大版本前奏曲:layui 1.0.9_rls 发布,1.x尾篇中回答:

    [good]
  • 2017-2-26 21:49:53layer 3.0.2 初始关闭问题中回答:

    @贤心 我测试了,如果把所有的代码都放在 layer.ready 中去,就没有这个问题了,包括 3.0.2 中,也建议放在 layer.ready 中。但是,我的代码就和原来的代码没太大区别,所有的代码外面都包了 2 层,如下所示:
    $(function() {
    layer.ready(function() {
    ……
    // 所有业务代码都在这里
    ……
    });
    });
  • 2017-2-26 21:26:2layer 3.0.2 初始关闭问题中回答:

    @贤心 我使用的是 jquery.datatables.js 这个插件,在加载页面的时候,使用该插件默认的 ajax 组件进行数据获取,想设置全局的 ajax 参数,来进行 Loading 的提示,我看 3.0.2 的更新日志里说可以不用再在 layer.ready 里面执行弹出层了,就试了试,发现貌似还是不行。
  • 2017-2-26 18:15:34layer 3.0.2 初始关闭问题中回答:

    我再次跟踪了几次,发现下面这段代码(v3.0.2 源代码中的第 170 行)
    layer.ready(function(){
    document.body ? that.creat() : setTimeout(function(){
    that.creat();
    }, 50);
    });
    如果打上断点,在调用 layer.load 方法的时候,就有可能会执行 layer.ready 内的代码(我上面说的成功那几次,都是打了断点,并且执行了 layer.ready 内的代码的)。

    但是如果没有打断点,在调用 layer.load 方法的时候,不会执行 layer.ready 内的代码。

    如果 layer.load 时没有执行 layer.ready 内的代码,就不能正常关闭(意思就是 layer.closeAll('loading') 不起作用),loading 的界面就会一直显示在界面上。
  • 2017-2-26 16:17:55layer 3.0.2 初始关闭问题中回答:

    $.showLoading() 和 $.hideLoading() 的方法如下:

    + function ($) {
    "use strict";

    $.showLoading = function () {
    layer.load(0, { shade: 0.3 });
    };

    $.hideLoading = function () {
    layer.closeAll('loading');
    };
    }($);
  • 2017-2-26 16:15:45layer 3.0.2 初始关闭问题中回答:

    我的 jQuery 是 2.2.4,我的调用代码如下:

    $.ajaxSetup({
    error: function (xhr, status, e) {
    layer.msg('访问出错');
    },
    beforeSend: function (xhr) {
    $.showLoading();
    },
    complete: function (xhr, ts) {
    $.hideLoading();
    }
    });
    经过 9 次 F5(刷新)发现,有 3 次成功,6 次失败。
  • 2017-1-19 23:33:27【疑问】Layer.Photos 的 alt 显示效果问题中回答:

    现在是自己手动修改的,如下所示:

    【压缩代码内】
    原始:
    +"</a><em>"+l.imgIndex+"/"+d.length+"</em></span>
    改为:
    +"</a>"+(d.length>1?("<em>"+l.imgIndex+"/"+d.length+"</em>"):"")+"</span>
    【未压缩代码内(第1182行)】
    原始:
    +'</a><em>'+ dict.imgIndex +'/'+ data.length +'</em></span>
    改为:
    +'</a>'+(data.length > 1 ? ('<em>'+ dict.imgIndex +'/'+ data.length +'</em>'):'')+'</span>