我遇到了以下问题,我想创建一个在模态之间切换的计数器函数,这样我就可以在多个页面上重复使用该函数,尽管我正在通过互联网进行斗争,但找不到解决方案,我尝试了多个选项,但是它只切换了前两个模态,当我检查日志时,我的计数器变量也没有超过1(第一次单击)。
我从这里开始
var counter = 0;
var step = 1;
var prev = 0;
$( document ).ready(function() {
$('.button-'+counter).click(function() {
counter++;
prev = counter - step;
$('.window-'+prev).modal('hide');
$('.window-'+counter).modal('show');
console.debug(counter, prev);
});
//$('.modal-header > .close').click(function() {
// counter = 0;
//});
});
然后经过一些研究,我最终得出结论,但这确实是一样的事情
var counter = 0;
var step = 1;
var prev = 0;
$( document ).ready(function() {
$('#addproductnext').each(function() {
$(this).on('click', function() {
counter++;
prev = counter - step;
console.log(counter, prev);
if($('#addproductwindow').hasClass('window-'+prev)) {
$('.window-'+prev).modal('hide');
$('.window-'+counter).modal('show');
};
});
});
这是我目前的快速修复方法,但我认为它并不整洁
$( document ).ready(function() {
$('.button-0').click(function() {
$('.window-0').modal('hide');
$('.window-1').modal('show');
});
$('.button-1').click(function() {
$('.window-1').modal('hide');
$('.window-2').modal('show');
});
$('.button-2').click(function() {
$('.window-2').modal('hide');
$('.window-3').modal('show');
});
$('.button-3').click(function() {
$('.window-3').modal('hide');
$('.window-4').modal('show');
});
//$('.modal-header > .close').click(function() {
// counter = 0;
//});
});
这是我的html的外观(php函数)
<div class="modal fade window-' . $number . '" id="' . $name . '" tabindex="-1" role="dialog" aria-labelledby="' . $name . '" aria-hidden="true" data-backdrop="' . $backdrop . '">
<div class="modal-dialog ' . $class . '" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deletemessage">' . $header .'</strong></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
BODY
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
<button class="button-modal">Button 1</button>
<button class="button-modal">Button 2</button>
<button class="button-modal">Button 3</button>
<script>
var counter = 0;
var step = 1;
var prev = 0;
$(document).ready(function() {
$('.button-modal').each(function() {
counter++;
prev = counter - step;
$(this).on('click', function() {
$('.window-'+prev).modal('hide');
$('.window-'+counter).modal('show');
};
});
});
</script>
为按钮提供相同的类,例如“ button-modal”。然后使用该类来获取按钮,并为每个按钮添加一个点击侦听器,以隐藏您之前的模式并显示您的下一个模式。