Javascript 需要许多不同的弹出窗口;使用一个抽象的弹出窗口来处理每个场景是否更好
我有3种不同类型的模式窗口来处理不同的事件。它们将弹出以处理以下任一项: 1) 警告,即“嘿,如果你离开页面,你将丢失你的工作”之类的消息 2) 来自用户先前填写的表单的动态数据,即“您将要创建一个包含DataX:DataX,DataY:DataY,日期:2012年3月28日的页面” 3) 供用户填写的表单 我最初试图用一组html/css/javascript来处理上述所有3种情况,只是根据情况传递数据和修改div。随着我的扩展,我注意到在不草率的情况下很难干净地维护这些情况。我有几个问题,我将在了解这些问题之后列出现在是 模式弹出窗口的简化HTML:Javascript 需要许多不同的弹出窗口;使用一个抽象的弹出窗口来处理每个场景是否更好,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有3种不同类型的模式窗口来处理不同的事件。它们将弹出以处理以下任一项: 1) 警告,即“嘿,如果你离开页面,你将丢失你的工作”之类的消息 2) 来自用户先前填写的表单的动态数据,即“您将要创建一个包含DataX:DataX,DataY:DataY,日期:2012年3月28日的页面” 3) 供用户填写的表单 我最初试图用一组html/css/javascript来处理上述所有3种情况,只是根据情况传递数据和修改div。随着我的扩展,我注意到在不草率的情况下很难干净地维护这些情况。我有几个问题,我
<div id ="popup" style="display:none;">
<div class="modal-container">
<div class="modal">
<div class="modal-header">
<a class="close" href="# " title="Press Esc to close"><div id="close-label" title="Press Esc to close">Close</div></a>
<span id="top-header">WARNING</span>
</div>
<div class="modal-body">
<div class="modal-subhead">
<img class="subhead-icon" border="0" src="">
<span id= "header">WARNING</span>
</div>
<div class="modal-message"><span>If you leave this page, you will lose unsaved changed.</span></div>
<div class="modal-input-first">
<div class="modal-label"></div>
<div id="modal-input"></div>
</div>
<div class="modal-input-second">
<div class="modal-label"></div>
<div id="modal-input"></div>
</div>
<div class="modal-footer">
<a class="secondary" href="#">Cancel</a>
<span id = "button-secondary-label">or</span>
<span class="btn_container">
<span class="btn_left"></span>
<span class="btn_center">Continue</span>
<span class="btn_right"></span>
</span>
</div>
</div>
在第一次发出ajax请求以获取数据之后,动态数据将以类似方式填充
正如我所说的,随着事情的发展,我不得不改变很多东西,而且它开始感觉不整洁。特别是当我不得不对单个元素的css进行像素级的完美更改时。最好有3个完全独立的html集来处理这些问题吗?这其中最适合居住的地方在哪里,是独立文件方法吗
继续添加单独的元素是否更好,因为我需要特定的元素用于某些实例,例如:
<div class="modal-input-specific-thing">
<div class="modal-label"></div>
<div id="modal-input"></div>
<div id="modal-input-2"></div>
</div>
或者使用jquery动态更改html的结构
var新输入=‘模态输入’+计数;
$(“#模式输入”).attr('id',新的#u输入)
是否有更好的方法只将所需元素推送到这样的弹出窗口?
如果我有10-12个场景,这是可能的,因为我一直在扩展。每次加载页面时解析12组不同的html/css与我现在尝试做的相比,是否有足够大的性能影响…制作一个通用/抽象的弹出窗口,并根据用户需要将元素/数据推送到其中?
谢谢!我应该用jQuery和jQuery用户界面来实现这一点。jQuery用户界面有一个非常好的弹出功能,叫做对话框。() 一个工作版本,可以重建您的情况,您将在这里看到。() 您可以添加许多选项,例如按钮、打开和关闭时的回调。您可以在jqueryui网站()上的文档中阅读所有选项 Html 注 加载jquery库和jquery ui库非常重要
我对所有JavaScript警报都使用SweetAlert,它是一个比默认值更好的JavaScript弹出框,使用起来非常简单
swal({<br>
title: "Are you sure you want to leave?",<br>
text: "You have unsaved changes!",<br>
type: "warning",<br>
showCancelButton: true,<br>
confirmButtonClass: "btn-danger",<br>
confirmButtonText: "Yes, Exit!",<br>
closeOnConfirm: false<br>
},<br>
function(){<br>
swal("Deleted!", "Your imaginary file has been deleted.", "success");<br>
});<br>
swal({
标题:“你确定要离开吗?”,
文本:“您有未保存的更改!”,
类型:“警告”,
showCancelButton:true,
确认按钮类:“btn危险”,
confirmButtonText:“是,退出!”,
CloseOnConfig:false
},
函数(){
swal(“已删除!”,“您想象的文件已被删除。”,“成功”);
});
这里有完整的教程-
<div id="popup-1" title="popup-1">
Hello World
</div>
<div id="popup-2" title="popup-2">
Hello World
</div>
<div id="popup-3" title="popup-3">
Hello World
</div>
$(document).ready(function() {
$('#popup-1').dialog();
$('#popup-2').dialog();
$('#popup-3').dialog();
});
swal({<br>
title: "Are you sure you want to leave?",<br>
text: "You have unsaved changes!",<br>
type: "warning",<br>
showCancelButton: true,<br>
confirmButtonClass: "btn-danger",<br>
confirmButtonText: "Yes, Exit!",<br>
closeOnConfirm: false<br>
},<br>
function(){<br>
swal("Deleted!", "Your imaginary file has been deleted.", "success");<br>
});<br>