我试图找到如何做到这一点,但不幸的是我没有发现任何类似的东西。所以我需要动态计算在twitter模式框中加载的每个图像的位置,并将框放在我制作的工具栏元素下面。情况就像在图像中。工具栏框的高度为40px,这应该使用javascript来完成,而不是固定位置或者这样做。
的js
$(document).ready(function () {
// - jQuery
// Swipe feature
$('#myCarousel').swiperight(function () {
$('#myCarousel').carousel('prev');
});
$('#myCarousel').swipeleft(function () {
$('#myCarousel').carousel('next');
});
// Carousel pause
$('.carousel').carousel({
pause: true,
interval: false
});
// Additional toolbar with "close" button appears
$(window).on('shown.bs.modal', function () {
$('modal').modal('show');
$('#toolbar').css('display', 'block'); //.css('position','fixed')
console.log('fires toolbar');
});
$(window).on('hidden.bs.modal', function () {
$('modal').modal('show');
$('#toolbar').css('display', 'none'); //.css('position','absolute')
console.log('closes toolbar when modal is closed');
});
// Closes modal on toolbar
$('.trigger').click(function () {
$('.modal').modal('hide');
});
// Load dynamic images
$('.modal-trigger img').click(function (e) {
$('#myModal img').attr('src', $(this).attr('data-img-url'));
});
});
答案 0 :(得分:2)
我认为你正在使它变得比它需要的复杂得多。如果我理解正确,您希望在显示模态时图像顶部有一个工具栏,并且您希望图像位于工具栏正下方而没有额外的间距。假设这是正确的,你可以使用css来简单地修改模态的现有外观。
<强> CSS 强>
.modal.fade.in {
top: 0;
}
.modal {
width: 100%;
left: 0;
right: 0;
margin: 0;
background-color: transparent;
border: none;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
outline: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.modal-header {
background-color: #e3e3e3;
background-image: linear-gradient(to bottom, #ffffff, #b8b8b8);
background-repeat: repeat-x;
border-color: #a9a9a9;
border-image: none;
border-radius: 0;
height: 40px;
}
.modal-body {
padding: 0;
max-height: 100%;
}
.modal-body img {
display: block;
margin: 0 auto;
}
button.close {
font-size: 14px;
line-height: 40px;
opacity: 1;
}
<强> HTML:强>
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<div class="item active">
<a data-toggle="modal" href="#myModal" class="modal-trigger">
<img src="http://placehold.it/350x150/e8117f/fff&text=Image%201" alt="" data-img-url="http://placehold.it/500/e8117f/fff&text=Image%201" />
</a>
</div>
<div class="item">
<a data-toggle="modal" href="#myModal" class="modal-trigger">
<img src="http://placehold.it/350x150/9ACD32/fff&text=Image%202" alt="" data-img-url="http://placehold.it/400/9ACD32/fff&text=Image%202" />
</a>
</div>
<div class="item">
<a data-toggle="modal" href="#myModal" class="modal-trigger">
<img src="http://placehold.it/350x150/FF6347/fff&text=Image%203" alt="" data-img-url="http://placehold.it/300/FF6347/fff&text=Image%203" />
</a>
</div>
<div class="item">
<a data-toggle="modal" href="#myModal" class="modal-trigger">
<img src="http://placehold.it/350x150/008080/fff&text=Image%204" alt="" data-img-url="http://placehold.it/500/008080/fff&text=Image%204" />
</a>
</div>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
</div>
<!-- Modal window -->
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div id="toolbar" class="modal-header">
<button class="close" data-dismiss="modal">Schließen</button>
</div>
<div class="modal-body">
<img data-dismiss="modal" aria-hidden="true" src="#" class="image" alt="" />
</div>
</div>
</div>
</div>
P.S。在你的小提琴中,你链接bootstrap.min.js,然后分别链接转换和模态的文件。这是不必要的。 bootstrap.min.js文件包含一个文件中的所有javascript插件。