如何使用jquery创建叠加联系表单

时间:2014-05-30 14:13:33

标签: javascript jquery html css

我写了一些jquery,它创建了一个带有登录信息的覆盖框。当用户在导航上按“登录”时,它的效果很好。

Fiddle

我确实有一个单独的联系表单页面。但我已经决定我只需要一个覆盖联系表单,就像登录一样。但是,第二个对象不像登录表​​单那样显示。

我一定是做错了,但我不确定它是什么

HTML

<!--POP UP FORM-->
<div id="login-box" class="login-popup">
    <a href="#" class="close"><img src="images/mini_green_x2.png" class="btn_close" title="Close Window" alt="Close" /></a>
    <form action="https://www.theiracenter.com/customerLoginAction.gsx" method="post">
        <label for="username">Username:</label>
        <br />
        <input class="topLogin" type="text" name="login" width="125px" />
        <br />
        <label for="password">Password:</label>
        <br />
        <input class="topLogin" id="passwordText" type="password" name="password" width="125px" />
        <input type="hidden" name="pd" value="C05" />
        <br />
        <input type="submit" id="loginSubmit" value="Submit" />
    </form>
</div>

<div id="contact-box" class="login-popup">
    <a href="#" class="close"><img src="images/mini_green_x2.png" class="btn_close" title="Close Window" alt="Close" /></a>
    Contact Us!
</div>

<div class="d5-d10 m1" id="navHolder">
    <ul id="mainNavigation">
        <li><a href="#login-box" class="login-window">Log In</a></li>
        <li><a href="#contact-Box" class="login-window">Contact</a></li>
        <li><a href="investment.html">Investment</a></li>
        <li><a href="faq.html">FAQ</a></li>
    </ul>
</div>

JQUERY

<script type="text/javascript">
$(document).ready(function () {
    $('a.login-window').click(function () {

        // Getting the variable's value from a link
        var loginBox = $(this).attr('href');

        //Fade in the Popup and add close button
        $(loginBox).fadeIn(300);

        //Set the center alignment padding + border
        var popMargTop = ($(loginBox).height() + 24) / 2;
        var popMargLeft = ($(loginBox).width() + 24) / 2;

        $(loginBox).css({
            'margin-top': -popMargTop,
            'margin-left': -popMargLeft
        });

        // Add the mask to body
        $('body').append('<div id="mask"></div>');
        $('#mask').fadeIn(300);

        return false;
    });

    // When clicking on the button close or the mask layer the popup closed
    $('body').on('click', 'a.close, #mask', function () {
        $('#mask , .login-popup').fadeOut(300, function () {
            $('#mask').remove();
        });
        return false;
    });
});
</script>

和CSS

/*LOG IN POP UP*/
/* Mask for background, by default is not display */
#login-box label{
    font-family:'Droid Sans', sans-serif;
    color:#6EBE44
}

#login-box img{
    float:right;
}

#mask {
    display: none;
    background: #000;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    opacity: 0.8;
    z-index: 999;
}

.login-popup {
    display: none;
    background: #666666;
    padding: 10px;
    border: 2px solid #ddd;
    float: left;
    font-size: 1.2em;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 99999;
    box-shadow: 0px 0px 20px #999;
    /* CSS3 */
        -moz-box-shadow: 0px 0px 20px #999;
    /* Firefox */
        -webkit-box-shadow: 0px 0px 20px #999;
    /* Safari, Chrome */
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px;
    /* Firefox */
        -webkit-border-radius: 3px;
    /* Safari, Chrome */;
}

img.btn_close {
    Position the close button
    float: right;
    margin: -28px -28px 0 0;
}

fieldset {
    border: none;
}

form.signin .textbox label {
    display: block;
    padding-bottom: 7px;
}

form.signin .textbox span {
    display: block;
}

form.signin p, form.signin span {
    color: #999;
    font-size: 11px;
    line-height: 18px;
}

form.signin .textbox input {
    background: #666666;
    border-bottom: 1px solid #333;
    border-left: 1px solid #000;
    border-right: 1px solid #333;
    border-top: 1px solid #000;
    color: #fff;
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    font: 13px Arial, Helvetica, sans-serif;
    padding: 6px 6px 4px;
    width: 200px;
}

form.signin input:-moz-placeholder {
    color: #bbb;
    text-shadow: 0 0 2px #000;
}

form.signin input::-webkit-input-placeholder {
    color: #bbb;
    text-shadow: 0 0 2px #000;
}

.button {
    background: -moz-linear-gradient(center top, #f3f3f3, #dddddd);
    background: -webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#dddddd));
    background: -o-linear-gradient(top, #f3f3f3, #dddddd);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f3f3f3', EndColorStr='#dddddd');
    border-color: #000;
    border-width: 1px;
    border-radius: 4px 4px 4px 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    color: #333;
    cursor: pointer;
    display: inline-block;
    padding: 6px 6px 4px;
    margin-top: 10px;
    font: 12px;
    width: 214px;
}

.button:hover {
    background: #ddd;
}

3 个答案:

答案 0 :(得分:1)

我认为这只是个案错误:您有id="contact-box"href="#contact-Box"

答案 1 :(得分:1)

只是一个小错误

输入错误:p

更改此

<div id="contact-box" class="login-popup">

进入

<div id="contact-Box" class="login-popup">

答案 2 :(得分:0)

问题出在您的锚标记的href中,联系人的href与您为叠加div提供的ID不匹配。

这是工作小提琴 http://jsfiddle.net/L784A/1/

     <li><a href="#contact-box" class="login-window">Contact</a>