if (flag == true) { flag = false; layer.open({ type: 1, closeBtn: 0, shadeClose: false, //点击遮罩关闭 content: $("#slideImages"), success: function() { //弹出后的回调 alert("成功弹出"); $(".layui-layer-title").hide(); // '#slideImages' var mySlideImage = new SlideImageVerify('#slideImages', { initText: '请滑动拼图完成验证', slideImage: ['static/images/slideImages/a1.jpg', 'static/images/slideImages/a2.jpg', 'static/images/slideImages/a3.jpg'], slideAreaNum: 10, refreshSlide: true, getSuccessState: function(res) { flag = res; alert("flag1" + flag); console.log(res); } }); mySlideImage.getSuccessState() } }); alert("flag2" + flag); }
这段代码,我是想通过layui的弹出层插件完成拼图验证,运行的结果是可以成功弹出并且有拼图验证,但是顺序不对(测试的时候我加了几个弹框提醒),实际的顺序是:“成功弹出”->"flag2false"->当拼图完成弹出“flag1true”但是我的表单就没法提交了(flag最后的状态应该是true,才能提交),本人是以后主要从事后端的“码农”,所以对前端不是很了解,这个问题就困扰了很久(我感觉是拼图成功后这个状态我没有取出来),盼望大佬回复指教,感谢!