单击 div 调整大小时的 jQuery 灯箱效果

发布于 2024-12-11 09:21:44 字数 1337 浏览 0 评论 0原文

我的代码类似于: http://jsfiddle.net/jYasG/4/

HTML

<a id="open" href="#">test1</a>
<div id="boxbg"><a id="close" href="#">tatastat</a></div>    
<div id="bgfade"></div>    
<br>
<br>
<br>

<a id="open" href="#">test2</a>
<div id="boxbg"><a id="close" href="#">test2<br><br>test2<br><br></a></div>    
<div id="bgfade"></div>    

JavaScript

$(document).ready(function() {
    $("a#open").click(function() {
        var width1 = $(this).next('div').width();
        var width2 = width1 / 2 * -1;
        $("#boxbg").css({
            "margin-left": width2
        });

        var height1 = $(this).next('div').height();
        var height2 = height1 / 2 * -1;
        $("#boxbg").css({
            "margin-top": height2
        });


        $(this).next('div').fadeIn(300);
        $("#bgfade").fadeIn(300);
        return false;
    })

    $("a#close").click(function() {
        $(this).next().fadeIn(300);
        $("#bgfade, #boxbg").fadeOut(300);
        return false;
    })
})

When用户点击test1,div框垂直和水平完美居中;我试图做到这一点,以便 test2 在单击时具有相同的效果。我在这里做错了什么?

I have code similar to: http://jsfiddle.net/jYasG/4/

HTML

<a id="open" href="#">test1</a>
<div id="boxbg"><a id="close" href="#">tatastat</a></div>    
<div id="bgfade"></div>    
<br>
<br>
<br>

<a id="open" href="#">test2</a>
<div id="boxbg"><a id="close" href="#">test2<br><br>test2<br><br></a></div>    
<div id="bgfade"></div>    

JavaScript

$(document).ready(function() {
    $("a#open").click(function() {
        var width1 = $(this).next('div').width();
        var width2 = width1 / 2 * -1;
        $("#boxbg").css({
            "margin-left": width2
        });

        var height1 = $(this).next('div').height();
        var height2 = height1 / 2 * -1;
        $("#boxbg").css({
            "margin-top": height2
        });


        $(this).next('div').fadeIn(300);
        $("#bgfade").fadeIn(300);
        return false;
    })

    $("a#close").click(function() {
        $(this).next().fadeIn(300);
        $("#bgfade, #boxbg").fadeOut(300);
        return false;
    })
})

When the user clicks on test1, the div box is perfectly centered vertically and horizontally; I'm trying to make it so that test2 does the same effect when it is clicked. What am I doing wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文