使用数据弹出属性显示 Jquery-ui 对话框
Use data-popup attributes to show Jquery-ui dialogs
下面的JS代码段应该只显示与其触发器具有相同ID的请求弹出窗口。
例如,<a class="popup-button" data-popup="#popup-a">POPUP A</a>
应该显示单击时具有 ID #popup-a
的弹出窗口。
但是当单击任何触发器时,它会显示页面上的所有弹出窗口,而不是从请求的弹出窗口中"具有与触发器具有其属性相同的 ID",这是一个 JS 小提琴: http://jsfiddle.net/znq4jwdu/1/
//Popups
$('.popup-button').each(function() {
var popupId = $(this).attr("data-popup");
$.data(this, 'dialog', $(popupId).dialog({
modal: false,
open: function(){
$(".dialog").addClass("dialog-opened");
$('.popup-close').fadeIn();
$('#falseModal').fadeIn();
jQuery('#falseModal').bind('click',function(){
jQuery('.popup').dialog('close');
});
},
close: function(){
$(".dialog").removeClass("dialog-opened");
$('#falseModal').fadeOut();
}
}));
}).click(function() {
$.data(this, 'dialog').dialog('open');
return false;
});
$('.popup-close').each(function() {
$(this).on("click",function(){$(this).parents('.popup').dialog("close");});
});
$(window).resize(function() {
$(".popup").dialog("option", "position", {my: "center", at: "center", of: window});
$('.widget-overlay').show().fadeOut(800);
});
$("body").append('<div id="falseModal" style="display:none;"></div>');
您不必使用 .each,因为您已经有一个用于对话框容器的类 (.popup)。
只需使用autoOpen
在加载时隐藏它们即可。
并通过dialog('open')
打开它们.对于叠加效果,请给它一个modal: true
。
对于过渡效果,请使用显示和隐藏效果选项以及持续时间。
$('.popup').dialog({
modal: true,
autoOpen: false,
show: {
effect: 'fade',
duration: 500
},
hide: {
effect: 'fade',
duration: 500
},
open: function () {
},
close: function () {
}
});
$('.popup-button').on('click', function () {
var popupId = $(this).attr("data-popup");
$(popupId).dialog('open');
});
这是一个演示 http://jsfiddle.net/dhirajbodicherla/odLrrn17/2/
此外,在您的演示中,您反转了数据弹出引用。
相关文章:
- 如何在页面重新加载时显示jquery ui对话框
- Jquery UI日期选择器没有'单击链接时不会再次显示
- 使用 jQuery UI 折叠面板显示 couchDB 数据库搜索结果时出现问题
- jQuery UI选项卡基于活动选项卡显示/隐藏图像
- 在phonegap android中上传多个文件时,使用jquery ui显示进度条
- 键入时不要显示jQuery UI自动完成
- 具有固定最小值的jQuery UI滑块:显示最小范围,而不是最小绝对值
- 在jQuery UI日期选择器的输入中显示完整日期
- jQuery UI对话框在页面上只显示一次
- 在jQuery UI选项卡中显示WordPress插件设置
- 30 秒后显示 Jquery UI 对话框
- JQuery UI 自动完成在滚动菜单时在文本框中显示 [对象对象]
- Jquery UI 自动完成中的 PHP 显示数组
- 如果站点上存在多个滑块,则显示 Jquery UI 滑块的值
- 谷歌地图信息框能够显示JQuery UI小部件
- 加载时未显示 JQuery-ui 组件
- 悬停时突出显示jQuery UI日期选择器中的日期范围
- 显示jQuery UI滑块的值并相应地改变颜色
- 显示jQuery-ui对话框不是空的
- 使用数据弹出属性显示 Jquery-ui 对话框