我想用最少的功能调用多个弹出窗口

时间:2019-04-16 02:33:00

标签: jquery html

当您单击onclick时,您将弹出。 我想使用多个弹出窗口并引入不同的html文件。 我不知道如何编写代码。

// popup jquery
function layerPop(){
 $("body").append("<div class='popup_wrap'></div>");
 $(".popup_wrap").load("popup/marketing_agree.html");
}

function layerClose(){
 $(".popup_wrap").remove();
}

// popup btn
<i onclick="layerPop()"></i>

// popup/marketing_agree.html
 <div class="layer__pop__widget">
   <div class="pop__bg"></div>
   <div class="popup__widget consensual">
    <h3 class="popup__title"></h3>
    <div class="popup__contents">
     <button type="button" onclick="layerClose()" class="close__btn"></button>
    </div>
   </div>
 </div>

如果您当前正在运行源代码,请单击 将运行layerPop函数,并将.popup_wrap添加到popup / marking_agree.html中。但是我有很多弹出窗口,并且要添加很多html,所以我想知道如何减少代码的重用。

1 个答案:

答案 0 :(得分:0)

一种显而易见的方法是在函数中接受如下参数:

def parse(self, response):
        for row in response.css("div.couponTable > div.couponRow.rAlt1.tgCou1"):
            yield {
                "day": row.css("a::text).extract_first()
            }

然后可以在函数外部维护资源位置和ID。这应该给您很多代码可重用性。

function layerPop(id, resource){
 $("body").append("<div class='popup_wrap' id=" + id +"></div>");
 $(".popup_wrap").load(resource);
}

function layerClose(id){
 if (id === null) $(".popup_wrap").remove();
 else $("#" + id).remove();
}