gpt4 book ai didi

javascript - 加载时如何将模态框定位在准确位置

转载 作者:行者123 更新时间:2023-12-02 16:54:25 26 4
gpt4 key购买 nike

我试图找到如何做到这一点,但不幸的是我没有找到类似的东西。因此,我需要动态计算 Twitter 模式框中加载的每个图像的位置,并将该框放置在我制作的工具栏元素下方。情况如图所示。工具栏框的高度是 40px,这应该使用 javascript 来完成,而不是固定位置或其他什么。

enter image description here

Fiddle here

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'));
});
});

最佳答案

我认为你让事情变得比需要的更加复杂。如果我理解正确的话,您希望在显示模式时在图像顶部有一个跨越整个窗口的工具栏,并且您希望将图像直接放置在工具栏下方,没有额外的间距。假设这是正确的,您可以使用 css 来简单地修改模式的现有外观。

DEMO

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">&lsaquo;</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</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>

附注在您的 fiddle 中,您链接了 bootstrap.min.js,然后单独链接了转换和模式的文件。这是不必要的。 bootstrap.min.js 文件在一个文件中包含所有 javascript 插件。

关于javascript - 加载时如何将模态框定位在准确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26294518/

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