gpt4 book ai didi

javascript - 如何使用 Bootstrap 重置弹出模式的位置?

转载 作者:行者123 更新时间:2023-11-30 21:12:37 26 4
gpt4 key购买 nike

我正在寻找解决问题的方法,我看到了很多不同的方法,但没有一种对我有用。我会在这里粘贴我的代码,看看你是否能以某种方式帮助我。我有一个可拖动的弹出窗口来显示注释。主屏幕上有一个项目列表,每次用户单击“查看”链接时,它都会打开带有该特定项目注释的弹出窗口。一切正常。弹出窗口会打开并显示正确的信息,我可以在屏幕上移动弹出窗口。那么我唯一的问题是:一旦我关闭弹出窗口并打开一个新弹出窗口,而不是将弹出窗口重置到原始位置,它会在我离开另一个弹出窗口的位置打开。我需要在用户关闭弹出窗口时重置它的位置。

这是我的js:

require(['jquery'
, 'bootstrap'
, 'datepicker'
, 'typeahead'
, 'combobox'
, 'tagsinput'
], function($){

// DOM ready
$(function(){
$('.modal-dialog').draggable();

$('#noteModal').on('show.bs.modal', function(e) {

//get data-id attribute of the clicked element
var note = $(e.relatedTarget).data('note');
//populate the textbox
$(e.currentTarget).find('span[name="note"]').text(note);
});



});
});

这是我的 html 页面上的模式:

<!-- Modal to display the Note popup -->
<div class="modal" id="noteModal" tabindex="-1" role="dialog" aria-labelledby="noteModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="noteModalLabel">Note</h4>
</div>
<div class="modal-body">
<span name="note" id="note"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

如何在用户每次关闭弹出窗口时重置弹出窗口的位置?

谢谢!

最佳答案

在您的点击处理程序中,您可以使用 JQuery 来设置模态的 css,如下所示:

if (!$(".modal.in").length) {
$(".modal-dialog").css({
top: 0,
left: 0
});
}

这将重置模态框的位置。假设您使用 JS 打开模态,您可以在 JavaScript 中调用模态之前使用它。

尝试运行下面的代码片段或查看此 CodePen Demo 以使用您的模态为例。

// DOM ready
$(function() {
$(".modal-dialog").draggable();
$("#btn1").click(function() {
// reset modal if it isn't visible
if (!$(".modal.in").length) {
$(".modal-dialog").css({
top: 0,
left: 0
});
}
$("#noteModal").modal({
backdrop: false,
show: true
});
});

$("#noteModal").on("show.bs.modal", function(e) {
var note = $('#btn1').data('note');

$(e.currentTarget).find('span[name="note"]').html(note);
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<!-- Modal to display the Note popup -->
<div class="modal" id="noteModal" tabindex="-1" role="dialog" aria-labelledby="noteModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="noteModalLabel">Note</h4>
</div>
<div class="modal-body">
<span name="note" id="note"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

<button id="btn1" data-note="I am a note. Hello.">Show Modal</button>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>


如果你想在模式打开时保持背景可用,我刚才发布了一个解决方案 here .

希望对您有所帮助!

关于javascript - 如何使用 Bootstrap 重置弹出模式的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45985654/

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