我正在制作一种工作板,并且有两种模式可以从一个页面触发,而不是在同一时间。我创建了这些函数来触发模态。你可以建议我如何用最短的方式写它(如果可能的话)。谢谢。 所以这是我的HTML代码的主要部分:
<div class="col-md-9">
<a id="test" href="#destination">FIRST modal</a>
<!-- Modal -->
<div id="destination"></div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<h3>First Modal</h3>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div> <!-- END First -->
<a id="test2" href="#destination2">SECOND modal</a>
<!-- Modal -->
<div id="destination2"></div>
<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<h3>Second Modal</h3>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div> <!-- END Second -->
和Jquery我想“缩短”
jQuery(function (){
$('#test').click(function(){
$('#myModal').modal('show');
});
$('#test2').click(function(){
$('#myModal2').modal('show');
});
});
答案 0 :(得分:2)
您可以使用DRY原则来整理代码。首先在触发模态的元素上使用公共类,并使用data-*
属性来存储该元素的唯一关系。
<button type="button" class="test" data-target="#myModal">Open modal</button>
<button type="button" class="test" data-target="#myModal2">Open modal #2</button>
然后,您可以在点击处理程序中阅读data
属性,以便在正确的元素上调用modal()
:
jQuery(function (){
$('.test').click(function(){
var target = $(this).data('target');
$(target).modal('show');
});
});
答案 1 :(得分:0)
如果在您的HTML中,您的元素#test
和#test2
具有data-id
属性,例如,您可以执行以下操作:
jQuery(function (){
$('#test, #test2').click(function(){
var id = $(this).attr('data-id');
$('#myModal'+id).modal('show');
});
});
如果某个元素的data-id
属性为2,则此函数会打开模态#myModal2