我需要编写一个jQuery函数,让不同的按钮打开不同的对话框,每个链接作为单个对话框。
如何在html
中插入一个变量,将每个按钮链接到他的对话框,而不为每个按钮编写一个函数?
我有单一的对话功能,我需要将其应用于多种解决方案
$(document).ready(function () {
$('.prova').click(function () {
$('.wrap-dialog-contact')
.addClass('show-dialog')
.removeClass('hide-dialog');
$('.dialog-overlay')
.toggleClass('dialog-overlay-on')
.removeClass('overoverlay-disappear')
.addClass('overlay-appear');
$('.dialog-contact-content')
.addClass('dialog-enter');
$('.dialog-contact-content')
.removeClass('dialog-exit');
$('#over')
.addClass('blur');
});
});
$(document).ready(function () {
$('.dialog-overlay, .input-contact-close').click(function () {
$('.wrap-dialog-contact')
.removeClass('show-dialog')
.addClass('hide-dialog');
$('.dialog-overlay')
.toggleClass('dialog-overlay-on')
.removeClass('overoverlay-appear')
.addClass('overlay-disappear');
$('.dialog-contact-content')
.removeClass('dialog-enter')
.addClass('dialog-exit');
$('#over')
.removeClass('blur');
});
});
我认为最好的方法是添加data-XXX
,但是如何在jQuery函数中管理呢?
答案 0 :(得分:0)
使用此
<a class="prova" dialogId="dialog1">Dialog1</a>
<a class="prova" dialogId="dialog2">Dialog2</a>
将该ID添加到对话框中(不知道#over是什么,但您可以使用相同的逻辑):
$('.prova').click(function(){
var dialogId = $(this).attr("dialogId");
$('#'+dialogId+' > .wrap-dialog-contact').addClass('show-dialog').removeClass('hide-dialog');
$('#'+dialogId+' > .dialog-overlay').toggleClass('dialog-overlay-on').removeClass('overoverlay-disappear').addClass('overlay-appear'); $('#'+dialogId+' > .dialog-contact-content').addClass('dialog-enter');
$('#'+dialogId+' > .dialog-contact-content').removeClass('dialog-exit');
$('#over').addClass('blur');
});