Пробую избавиться от дублирющихся кусков кода.
Вот исходник.
$(":checkbox").change(
function () {
if ($(this).attr('checked'))
{
$(this).closest("div").removeClass("checkboxOff");
$(this).closest("div").addClass("checkboxOn");
$(this).next("label").css('color','#FFFFFF');
}
else
{
$(this).closest("div").removeClass("checkboxOn");
$(this).closest("div").addClass("checkboxOff");
$(this).next("label").css('color','#000000');
}
});
$(":checkbox").click(
function() {
if ($(this).attr('checked'))
{
$(this).closest("div").removeClass("checkboxOff");
$(this).closest("div").addClass("checkboxOn");
$(this).next("label").css('color','#FFFFFF');
}
else
{
$(this).closest("div").removeClass("checkboxOn");
$(this).closest("div").addClass("checkboxOff");
$(this).next("label").css('color','#000000');
}
});
Как передать this в функцию?
somefunc=function(){
if ($(this).attr('checked'))
{
$(this).closest("div").removeClass("checkboxOff");
$(this).closest("div").addClass("checkboxOn");
$(this).next("label").css('color','#FFFFFF');
}
else
{
$(this).closest("div").removeClass("checkboxOn");
$(this).closest("div").addClass("checkboxOff");
$(this).next("label").css('color','#000000');
}
$(":checkbox").click(somefunc($(this)));
$(":checkbox").change(somefunc($(this)));