【发布时间】:2014-09-04 14:23:15
【问题描述】:
jQuery
var thumb = $('.thumbContainer').find('.thumb');
thumb.on('click', function(e){
$('body').addClass('sidePanelOpen');
var newimgsrc = $(this).data('img');
$('.largeImgPanel').find('.lgimage').css("backgroundImage", "url("+ newimgsrc +")");
});
$('.sidePanelOpen #overlay').click(function(e){
$('body').removeClass('sidePanelOpen');
});
HTML
<body>
<div class="post">
<div class="imageContainer">
<div class="bigimg" style="background-image: url('http://www.cuteheaven.com/wp-content/uploads/2011/05/kitten-III.jpg');">
</div>
<div class="thumbContainer">
<ul>
<li>
<a href="#">
<div class="thumb" data-img="http://thumbs.dreamstime.com/z/small-kitten-13447096.jpg" style="background-image: url('http://thumbs.dreamstime.com/z/small-kitten-13447096.jpg'); vertical-align: middle; width:100px"></div>
</a>
</li>
<li>
<a href="#">
<div class="thumb" data-img="http://www.dumpaday.com/wp-content/uploads/2013/05/small-kitten.jpg" style="background-image: url('http://www.dumpaday.com/wp-content/uploads/2013/05/small-kitten.jpg'); vertical-align: middle;"></div>
</a>
</li>
</ul>
</div>
<div class="largeImgPanel">
<div style="z-index: 9200">
<div class="lgimage" style="background-image: url('___');"></div>
</div>
</div><!--./lg image panel-->
<div id="overlay"></div>
</body>
CSS
#overlay{
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #000;
z-index: -1;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.5s linear;
-moz-transition: all 0.5s linear;
-ms-transition: all 0.5s linear;
-o-transition: all 0.5s linear;
transition: all 0.5s linear;
}
.sidePanelOpen #overlay{
opacity: 0.9;
visibility:visible;
z-index: 9000;
}
.sidePanelOpen .largeImgPanel{
background: red;
width: 700px;
margin: 0 auto;
}
.bigimg{
height: 250px;
width: 250px;
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
display: inline-block !important;
display: inline-block;
vertical-align: top;
box-shadow: 0 1px 1px #ececec;
transition: box-shadow .3s;
}
.thumb{
vertical-align: middle;
height: 70px;
width: 70px;
display: block;
background-color: #999999;
overflow: hidden;
background-size: cover;
}
大图像区域和缩略图区域 - 当用户单击图像时,它将在 src 中以全宽 800 像素显示覆盖和图像,而不是背景图像。
一直在努力使警报出现,但没有任何反应。问题是 jquery 没有做任何事情。尝试单击图像,它没有做任何事情。另外,不确定如何替换 src 而不是 css backgroundImage。
更新 好像如果我将 lgimagePanel 放在帖子 div 之外,它的行为就不会像预期的那样。想不通。感谢您的帮助。
【问题讨论】:
-
.largeImgPanel',.thumbnail未出现在html中? -
@guest271314 - 哎呀已更正代码。感谢您指出。出现叠加层后点击缩略图,大面板会显示大图。