这段代码的js写的不行 弹出框要有按钮知道了和点击空白处而且弹出要居中function showQrcodeqrcodeUrl #qrcode-imgattrsrc qrcodeUrl; #qrcode-modalshow;layui-layer-close layui-layer-shadeclickfunction #qrcode-modalhide;;
以下是改进后的代码:
function showQrcode(qrcodeUrl) { $('#qrcode-img').attr('src', qrcodeUrl); $('#qrcode-modal').css('display', 'flex'); $('#qrcode-modal').on('click', function(e) { if (e.target.id === 'qrcode-modal') { $('#qrcode-modal').css('display', 'none'); } }); $('#qrcode-modal .btn-close').on('click', function(e) { e.preventDefault(); $('#qrcode-modal').css('display', 'none'); }); $(window).on('resize', function() { $('#qrcode-modal').css({ top: ($(window).height() - $('#qrcode-modal').outerHeight()) / 2 + 'px', left: ($(window).width() - $('#qrcode-modal').outerWidth()) / 2 + 'px' }); }).resize(); }
解释:
-
将原来的
('#qrcode-modal').show();改为$('#qrcode-modal').css('display', 'flex');,这样可以使用 flex 布局让弹出框在屏幕中央。 -
添加一个点击空白处关闭弹出框的逻辑。当点击弹出框之外的区域时,判断点击事件的目标元素是否是弹出框本身,如果是则关闭弹出框。
-
添加一个 “知道了” 按钮的逻辑。给按钮添加一个类名
.btn-close,当点击按钮时,关闭弹出框。 -
添加一个窗口大小改变时重新居中的逻辑。当窗口大小改变时,重新计算弹出框的位置并居中显示
原文地址: https://www.cveoy.top/t/topic/dS0D 著作权归作者所有。请勿转载和采集!