Должен работать то же, как это работает независимо.
Это
(function($) {
$(document).ready(function(){
$('#number1').hide();
$('.button1').click(function(){
$('.table1').slideToggle();
$(this).toggleClass("minus_icon");
return false;
});
});
})(jQuery);
и это
(function($) {
$(document).ready(function(){
$('#number2').hide();
$('.button2').click(function(){
$('.table2').slideToggle();
$(this).toggleClass("minus_icon");
return false;
});
});
})(jQuery);
оба будут использоваться на той же странице.
Спасибо
Править: Добавленный после @Felix комментарий
@Felix - Вы имеете в виду как это?
(function($) {
$(document).ready(function(){
$('#number2, #number1').hide();
$('.button2').click(function(){
$('.table2').slideToggle();
$(this).toggleClass("minus_icon");
return false;
});
});
$('.button1').click(function(){
$('.table1').slideToggle();
$(this).toggleClass("minus_icon");
return false;
});
})(jQuery);
Образец HTML
<button id="button1" class="btn" div="table1">Table 1</button>
<button id="button2" class="btn" div="table2">Table 2</button>
<div class="myDiv" id="div1"><table><tr><td>Table1</td></tr></table></div>
<div class="myDiv" id="div2"><table><tr><td>Table2</td></tr></table></div>
CSS
.myDiv { display:none; }
JQuery
$(document).ready(function(){
$('.btn').click(function(){
//identify same class to all your div for example in this case I will define all tables as myDiv
// doing this will not fix the effect to just two tables
$(".myDiv").slideUp(); //Hide all divs first
$('#'+$(this).attr("div")).slideToggle(); //show the required
$(this).toggleClass("minus_icon");
return false;
});
});
(function($) {
$(document).ready(function(){
$('#number1, #number2').hide();
$('.button1, .button2').click(function(){
if($(this).is('.button1')) {
$('.table1').slideToggle();
else
$('.table2').slideToggle();
$(this).toggleClass("minus_icon");
return false;
});
});
})(jQuery);
Похоже, у вас есть две повторяющиеся разметки, которые должны вести себя одинаково. В этом случае я бы извлек JS-код, который определяет требуемое поведение, и вызвал бы его с необходимыми аргументами разметки:
(function($) {
function CondfigureEvents(numberSelector, buttonSelector, tableSelector)
{
$(document).ready(function(){
$(numberSelector).hide();
$(buttonSelector).click(function(){
$(tableSelector).slideToggle();
$(this).toggleClass("minus_icon");
return false;
});
}
CondfigureEvents('#number1', '.button1', '.table1');
CondfigureEvents('#number2', '.button2', '.table2');
});
})(jQuery);