如何使用Jquery制作多个Popup

时间:2022-12-20 19:19:43

For pop up im using the following code

使用以下代码弹出即时消息

style :

风格:

a.selected {
  background-color:#1F75CC;
  color:white;
  z-index:100;
}

.messagepop {
  background-color:#FFFFFF;
  border:1px solid #999999;
  cursor:default;
  display:none;
  margin-top: 15px;
  position:absolute;
  text-align:left;
  width:394px;
  z-index:50;
  padding: 25px 25px 20px;
}

label {
  display: block;
  margin-bottom: 3px;
  padding-left: 15px;
  text-indent: -15px;
}

.messagepop p, .messagepop.div {
  border-bottom: 1px solid #EFEFEF;
  margin: 8px 0;
  padding-bottom: 8px;
}

JavaScript :

JavaScript:

$(function() {
        $("#contact").live('click', function(event) {
            $(this).addClass("selected").parent().append('<div class="messagepop pop"><form method="post" id="new_message" action="/messages"><p><label for="email">Your email or name</label><input type="text" size="30" name="email" id="email" /></p><p><label for="body">Message</label><textarea rows="6" name="body" id="body" cols="35"></textarea></p><p><input type="submit" value="Send Message" name="commit" id="message_submit"/> or <a class="close" href="/">Cancel</a></p></form></div>');
            $(".pop").slideFadeToggle()
            $("#email").focus();
            return false;
        });

        $(".close").live('click', function() {
            $(".pop").slideFadeToggle();
            $("#contact").removeClass("selected");
            return false;
        });
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback);
    };

and finally

最后

<a href="/contact" id="contact">Contact Us</a>

I need to include another pop up when the register link is clicked.

单击注册链接时,我需要包含另一个弹出窗口。

Whether i should use the same function with modifications or seperate functions. Please provide me the code with modifications. Im so weird. Help me.

我是否应该使用相同的功能进行修改或单独的功能。请提供修改后的代码。我很奇怪。帮我。

2 个解决方案

#1


0  

I'd just do the same but chance the information so:

我只是做同样的事情,但有机会获取信息:

$(function() {
        $("#contact").live('click', function(event) {
            $(this).addClass("selected").parent().append(
            '<div class="messagepop pop"><form method="post" id="new_message" action="/messages"><p><label for="email">Your email or name</label><input type="text" size="30" name="email" id="email" /></p><p><label for="body">Message</label><textarea rows="6" name="body" id="body" cols="35"></textarea></p><p><input type="submit" value="Send Message" name="commit" id="message_submit"/> or <a class="close" href="/">Cancel</a></p></form></div>');
            $(".pop").slideFadeToggle()
            $("#email").focus();
            return false;
        });

        $(".close").live('click', function() {
            $(".pop").slideFadeToggle();
            $("#contact").removeClass("selected");
            $("#register").removeClass("selected");
            return false;
        });

        $("#register").live('click', function(event) {
            $(this).addClass("selected").parent().append(
            '<div class="messagepop pop"><form method="post" id="new_register" action="/register">The details and form here<input type="submit" value="Submit" name="commit" id="register_submit"/> or <a class="close" href="/">Cancel</a></p></form></div>');
            $(".pop").slideFadeToggle()
            $("#whateverisyourfirstbox").focus();
            return false;
        });
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback);
    };
};

This is just running off your example. I hope the tutorials I pointed to you in my last answer for you are helping.

这只是你的例子。我希望我在上一篇回答中指出的教程对你有帮助。

#2


0  

I use FlowPlayer's jquery tools.I suggest you can use them as well. There is an overview of overlay tool which is close to what you're looking for I think . Overlay Example

我使用FlowPlayer的jquery工具。我建议你也可以使用它们。我们认为,叠加工具的概述与您正在寻找的内容非常接近。叠加示例

#1


0  

I'd just do the same but chance the information so:

我只是做同样的事情,但有机会获取信息:

$(function() {
        $("#contact").live('click', function(event) {
            $(this).addClass("selected").parent().append(
            '<div class="messagepop pop"><form method="post" id="new_message" action="/messages"><p><label for="email">Your email or name</label><input type="text" size="30" name="email" id="email" /></p><p><label for="body">Message</label><textarea rows="6" name="body" id="body" cols="35"></textarea></p><p><input type="submit" value="Send Message" name="commit" id="message_submit"/> or <a class="close" href="/">Cancel</a></p></form></div>');
            $(".pop").slideFadeToggle()
            $("#email").focus();
            return false;
        });

        $(".close").live('click', function() {
            $(".pop").slideFadeToggle();
            $("#contact").removeClass("selected");
            $("#register").removeClass("selected");
            return false;
        });

        $("#register").live('click', function(event) {
            $(this).addClass("selected").parent().append(
            '<div class="messagepop pop"><form method="post" id="new_register" action="/register">The details and form here<input type="submit" value="Submit" name="commit" id="register_submit"/> or <a class="close" href="/">Cancel</a></p></form></div>');
            $(".pop").slideFadeToggle()
            $("#whateverisyourfirstbox").focus();
            return false;
        });
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback);
    };
};

This is just running off your example. I hope the tutorials I pointed to you in my last answer for you are helping.

这只是你的例子。我希望我在上一篇回答中指出的教程对你有帮助。

#2


0  

I use FlowPlayer's jquery tools.I suggest you can use them as well. There is an overview of overlay tool which is close to what you're looking for I think . Overlay Example

我使用FlowPlayer的jquery工具。我建议你也可以使用它们。我们认为,叠加工具的概述与您正在寻找的内容非常接近。叠加示例