我创建了一个非常简单的弹出/模态框。我想点击.openModal
按钮后显示它,然后点击.closeModal
或屏幕上的任意位置关闭它。问题是我无法定义变量,如果模态打开(true)或关闭(false)则显示。
有什么问题?
<div class="modal"></div>
<div class="modalContent">
<span class="closeModal">x</span>
</div>
<script>
var openModal = false;
$(".openModal").click(function(){
$(".modal").show();
$(".modalContent").show();
openModal = true;
})
$(".closeModal").on('click', function(){
$(".modal").hide();
$(".modalContent").hide();
openModal = false;
})
$("body").on('click', function(){
if(openModal){
$(".modal").hide();
$(".modalContent").hide();
}
})
</script>
答案 0 :(得分:2)
我终于解决了这个问题:
<div class="modal"></div>
<div class="modalContent">
<span class="closeModal">x</span>
</div>
var openModal = false;
$("body").on('click','.modal', function(){
if(openModal === true){
$(".modal").hide();
$(".modalContent").hide();
}
});
$("body").on('click', '.openModal', function(){
$(".modal").show();
$(".modalContent").show();
openModal = true;
});
$('body').on('click',".closeModal", function(){
$(".modal").hide();
$(".modalContent").hide();
openModal = false;
});
.modal
是一个灰色背景,在弹出窗口打开时显示,全屏显示,因此点击它会像点击身体一样工作。似乎无法点击身体元素,就像它背后的东西一样。我不确定
答案 1 :(得分:1)
为变量检查创建一个函数:
function checkOpen() {
if (!openModal) {
$(".modal").hide();
$(".modalContent").hide();
}
}
然后在修改模态时调用它:
$(".openModal").click(function(){
$(".modal").show();
$(".modalContent").show();
openModal = true;
checkOpen();
})
答案 2 :(得分:1)
您可以在yes i have done it. The convert to double thing works
thankyou all
Appriciated.[enter link description here][1]
cmd.Parameters.AddWithValue("@txt_rdvalue",txt_rdvalue.Text);
cmd.Parameters.AddWithValue("@txt_orderid",Convert.ToDouble(txt_orderid.Text));
cmd.Parameters.AddWithValue("@cb_oname", cb_oname.SelectedText);
cmd.Parameters.AddWithValue("@cb_ocat", cb_ocat.SelectedText);
cmd.Parameters.AddWithValue("@cb_oqty", Convert.ToDouble(cb_oqty.SelectedValue));
cmd.Parameters.AddWithValue("@txt_oprice",Convert.ToDouble((txt_oprice.Text)));
cmd.Parameters.AddWithValue("@txt_disc",Convert.ToDouble(txt_disc.Text));
cmd.Parameters.Add(new SqlParameter("@Date", dateTimePicker1.Value.Date));
[1]: http://www.stackoverflow.com/alygorejaanswers
中使用data-*
属性:
.modal
然后在JS中更新它:
<div class="modal" data-open='false'></div>
希望这有帮助。