MCPcopy
hub / github.com/layui/layui / executor

Function executor

src/modules/layer.js:1703–1789  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1701 if (!layero[0]) return;
1702
1703 var executor = function () {
1704 // 关闭动画
1705 var closeAnim =
1706 {
1707 slideDown: 'layer-anim-slide-down-out',
1708 slideLeft: 'layer-anim-slide-left-out',
1709 slideUp: 'layer-anim-slide-up-out',
1710 slideRight: 'layer-anim-slide-right-out'
1711 }[options.anim] || 'layer-anim-close';
1712
1713 // 移除主容器
1714 var remove = function () {
1715 var WRAP = 'layui-layer-wrap';
1716
1717 // 是否关闭时隐藏弹层容器
1718 if (hideOnClose) {
1719 layero.removeClass('layer-anim ' + closeAnim);
1720 return layero.hide();
1721 }
1722
1723 // 是否为页面捕获层
1724 if (type === ready.type[1] && layero.attr('conType') === 'object') {
1725 layero.children(':not(.' + doms[5] + ')').remove();
1726 var wrap = layero.find('.' + WRAP);
1727 for (var i = 0; i < 2; i++) {
1728 wrap.unwrap();
1729 }
1730 wrap.css('display', wrap.data('display')).removeClass(WRAP);
1731 } else {
1732 // 低版本 IE 回收 iframe
1733 if (type === ready.type[2]) {
1734 try {
1735 var iframe = $('#' + doms[4] + index)[0];
1736 iframe.contentWindow.document.write('');
1737 iframe.contentWindow.close();
1738 layero.find('.' + doms[5])[0].removeChild(iframe);
1739 } catch (e) {
1740 //
1741 }
1742 }
1743 layero[0].innerHTML = '';
1744 layero.remove();
1745 }
1746
1747 typeof ready.end[index] === 'function' && ready.end[index]();
1748 delete ready.end[index];
1749 typeof callback === 'function' && callback();
1750
1751 // 移除 reisze 事件
1752 if (ready.events.resize[index]) {
1753 win.off('resize', ready.events.resize[index]);
1754 delete ready.events.resize[index];
1755 }
1756 };
1757 // 移除遮罩
1758 var shadeo = $('#' + doms.SHADE + index);
1759 if ((layer.ie && layer.ie < 10) || !options.isOutAnim) {
1760 shadeo[hideOnClose ? 'hide' : 'remove']();

Callers 1

layer.jsFile · 0.85

Calls 1

removeFunction · 0.70

Tested by

no test coverage detected