我有两个弹出对话框.我有javascript.目前,当点击两个链接时,只有一个弹出窗口打开

I have two pop up dialog box. I have the javascript. Currently only one of the pop up opens when both the links are clicked

本文关键字:两个 链接 窗口 有一个 javascript 对话框 我有 目前      更新时间:2023-09-26

我有两个弹出对话框在页脚的链接返回政策和隐私政策。我有javascript和所有的文件。

当前,当两个链接都被点击时,只有一个弹出窗口打开。我希望每个链接打开自己各自的弹出对话框。

它所在的网页位于http://www.sarahjanetrading.com/js/j/index.html

javascript文件位于http://www.sarahjanetrading.com/js/j/js/popups.js.

谢谢

span #对话框周围有一个click标签。所以基本上无论你在span的哪个位置按下都会打开相同的弹出窗口

然后你显示两个对话框在顶部彼此,返回策略是最后一个对话框,它覆盖了另一个。

你需要做的是将它绑定到链接

$("#dialog a").click(function(){
    //centering with css
    centerPopup();
    //get id of the clicked
    var clickedLink = $(this).attr('id');
    //load popup
    loadPopup(clickedLink);
});

然后只显示点击对话框:

function loadPopup(clickedLink){
    //loads popup only if it is disabled
    if(popupStatus==0){
        $("#backgroundPopup").css({
            "opacity": "0.7"
        });
        $("#backgroundPopup").fadeIn("slow");
        $("#"+clickedLink).fadeIn("slow");
        popupStatus = 1;
    }
}

更新版本

你可以通过使用href来获取对话框ID,然后这样做:

<a href="#privacyPolicy-popup" id="returnPolicy">Return Policy</a>

$("#dialog a").click(function(){
    //centering with css
    centerPopup();
    //get id of the clicked
    var clickedLink = $(this).attr('href');
    //load popup
    loadPopup(clickedLink);
});

function loadPopup(clickedLink){
    //loads popup only if it is disabled
    if(popupStatus==0){
        $("#backgroundPopup").css({
            "opacity": "0.7"
        });
        $("#backgroundPopup").fadeIn("slow");
        $(clickedLink).fadeIn("slow");
        popupStatus = 1;
    }
}

看一下您是如何绑定事件的:

//LOADING POPUP
//Click the button event!
$("#dialog").click(function(){
    //centering with css
    centerPopup();
    //load popup
    loadPopup();
});

您已经将此单击事件分配给整个dialog span,因此无论何时他们单击其中的任何地方(甚至在链接之间的空格中),都将执行此事件。它不能区分链接。

此外,在你的loadPopup()中,你有:

$("#privacyPolicy-popup").fadeIn("slow");
$("#returnPolicy-popup").fadeIn("slow");

所以发生的是,这两个弹出框将显示在任何时候在dialog跨度的任何地方点击。

作为提示,您在这里要做的是以某种方式区分哪些链接已被单击(例如,通过将单击绑定到每个链接而不是对话框),然后一次只显示一个弹出窗口,这取决于单击了哪个链接。