2011-01-09 2 views
1

Я хочу оптимизировано некоторые коды (я использую JQuery UI):Оптимизация функций в jQueryUI

 
$(function() { 
    $('.click-login-modal').click(function() { 
     $('.login-modal').dialog('open'); 
     return false; 
    }) 

    $('.login-modal').dialog({ 
     autoOpen: false, 
     width: 500, 
     height:300, 
     modal: true, 
     resizable: false, 
    }) 
    $('.click-register-modal').click(function() { 
     $('.register-modal').dialog('open'); 
     return false; 
    }) 

    $('.register-modal').dialog({ 
     autoOpen: false, 
     width: 500, 
     height:300, 
     modal: true, 
     resizable: false, 
    }) 
})

Это возможно? У меня есть два условных модальности. (Dialog Popup)

ответ

3
var options = { 
     autoOpen: false, 
     width: 500, 
     height:300, 
     modal: true, 
     resizable: false 
    }; 

$(".register-modal").dialog(options); 
$(".login-modal").dialog(options); 

$('.click-register-modal, .click-login-modal').click(function() { 
    $(this).dialog('open'); 
    return false; 
}); 
+0

т. Е. Будет иметь соответствующую запятую! – redsquare

+0

Хороший вопрос! :) И добро пожаловать! – karim79

+0

@ karim79, ty sir – redsquare

0

Я хотел бы использовать язычки подход, где href будет указывать на элемент ID, так что вы можете изменить модальные классы для идентификаторов, а затем использовать:

var options = { 
     autoOpen: false, 
     width: 500, 
     height:300, 
     modal: true, 
     resizable: false 
    }; 

$(".register-modal").dialog(options); 
$(".login-modal").dialog(options); 

$('.click-register-modal, .click-login-modal').click(function() { 
    $($(this).attr('href')).dialog('open'); 
    return false; 
}); 

Или если вам нужно использовать классы, а затем заменить хэш # точкой ., также если вы не используете LINKS, вы можете использовать атрибут rel, чтобы указать на ваши диалоги или даже jquery data.

Смежные вопросы