gpt4 book ai didi

javascript - [错误]HTML5、Jquery - LightBox 仅显示最新信息

转载 作者:行者123 更新时间:2023-12-03 09:22:56 24 4
gpt4 key购买 nike

            <html>
<head>
<title>Quick Simple Light Box</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<style type="text/css">

body
{
font-family: Helvetica, Arial;
}

.backdrop
{
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
background:#000;
opacity: .0;
filter:alpha(opacity=0);
z-index:50;
display:none;
}


.box
{
position:absolute;
top:20%;
left:30%;
width:500px;
height:300px;
background:#ffffff;
z-index:51;
padding:10px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow:0px 0px 5px #444444;
-webkit-box-shadow:0px 0px 5px #444444;
box-shadow:0px 0px 5px #444444;
display:none;
}

.close
{
float:right;
margin-right:6px;
cursor:pointer;
}

</style>

<script type="text/javascript">

$(document).ready(function(){

$('.lightbox').click(function(){
$('.backdrop, .box').animate({'opacity':'.50'}, 300, 'linear');
$('.box').animate({'opacity':'1.00'}, 300, 'linear');
$('.backdrop, .box').css('display', 'block');
});

$('.close').click(function(){
close_box();
});

$('.backdrop').click(function(){
close_box();
});

});

function close_box()
{
$('.backdrop, .box').animate({'opacity':'0'}, 300, 'linear', function(){
$('.backdrop, .box').css('display', 'none');
});
}

</script>

</head>
<body>

<h1>This is my webpage...</h1>
<a href="#" class="lightbox">Open Lightbox</a>

<div class="backdrop"></div>
<div class="box"><div class="close">x</div>This is the lightbox!!!</div>

</body>
</html>
<小时/>

您好,我对上述灯箱代码有疑问。

例如,它显然只显示最新信息。

                <a href="#" class="lightbox">Open Lightbox</a>

<div class="backdrop"></div>
<div class="box"><div class="close">x</div>This is the lightbox!!!</div>




<a href="#" class="lightbox">Open Lightbox</a>

<div class="backdrop"></div>
<div class="box"><div class="close">x</div>This is the lightbox123456!!!</div>

它会显示这是灯箱123456!!!无论您点击什么。

请帮忙,谢谢。

最佳答案

它实际上显示了两者,如果您将 .box 的位置更改为 relative ,您可以看到两个框都出现。我创建了一个 jsfiddle 来显示效果。

由于您只想显示 anchor 后面的框,您可以这样做:

  1. .backdrop 移动到正文的最后,并且只保留一个,因为它不会与您单击的 anchor 一起出现。

  2. 使用.next()直接选择 anchor 后面的.box,然后使用.add.backdrop添加到组中。

  3. 对它们进行动画处理。

如果 .backdrop 根据您单击的 anchor 而变化,我建议将 .box.backdrop 包装到容器中,然后使用 $(this).next('.container').find('.box, .backdrop') 获取目标。或者将 anchor 也包裹在容器中,然后使用 $(this).siblings('.box, .backdrop') 进行选择。

$(document).ready(function() {

$('.lightbox').click(function() {
// Get the target box, and the only backdrop

// Because they will apply different opacity, we have to get them separately first.
var $box = $(this).next('.box');
var $backdrop = $('.backdrop');

// Group them.
var $targets = $box.add($backdrop);

// Ensure the targets's display.
$targets.css('display', 'block');

// Separate the animation of each element if you want different parameters. or chain them.
$backdrop.animate({
'opacity': '.50'
}, 300, 'linear');
$box.animate({
'opacity': '1.00'
}, 300, 'linear');
$targets.css('display', 'block');
});

$('.close').click(function() {
close_box();
});

$('.backdrop').click(function() {
close_box();
});

});

function close_box() {
$('.backdrop, .box').animate({
'opacity': '0'
}, 300, 'linear', function() {
$('.backdrop, .box').css('display', 'none');
});
}
body {
font-family: Helvetica, Arial;
}
.backdrop {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: #000;
opacity: .0;
filter: alpha(opacity=0);
z-index: 50;
display: none;
}
.box {
position: absolute;
top: 20%;
left: 30%;
width: 500px;
height: 300px;
background: #ffffff;
z-index: 51;
padding: 10px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: 0px 0px 5px #444444;
-webkit-box-shadow: 0px 0px 5px #444444;
box-shadow: 0px 0px 5px #444444;
display: none;
}
.close {
float: right;
margin-right: 6px;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a href="#" class="lightbox">Open Lightbox</a>


<div class="box">
<div class="close">x</div>This is the lightbox!!!
</div>

<a href="#" class="lightbox">Open Lightbox</a>
<div class="box">
<div class="close">x</div>This is the lightbox123456!!!</div>

<div class="backdrop"></div>

关于javascript - [错误]HTML5、Jquery - LightBox 仅显示最新信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31786176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com