jQuery优化代码模式

时间:2012-12-07 17:10:53

标签: javascript jquery

下午所有,

我有2块jQuery代码,有很多重复......我想知道是否有任何方法可以简化线条和/或性能。

2个街区如下:

$("#intro").css('min-height',$(window).height()-88);
$("#trabalhos").css('min-height',$(window).height()-88);
$("#fotografia").css('min-height',$(window).height()-88);
$("#cv").css('min-height',$(window).height()-88);
$("#contactos").css('min-height',$(window).height()-88);

并且:

$('.portfolio').click(function(e){ e.preventDefault();$('html,body').animate({scrollTop: $('#portfolio').offset().top-88},'slow'); });
$('.cv').click(function(e){ e.preventDefault();$('html,body').animate({scrollTop: $('#cv').offset().top-88},'slow'); });
$('.trabalhos').click(function(e){ e.preventDefault();$('html,body').animate({scrollTop: $('#trabalhos').offset().top-88},'slow'); });
$('.fotografia').click(function(e){ e.preventDefault();$('html,body').animate({scrollTop: $('#fotografia').offset().top-88},'slow'); });
$('.contactos').click(function(e){ e.preventDefault();$('html,body').animate({scrollTop: $('#contactos').offset().top-88},'slow'); });

3 个答案:

答案 0 :(得分:6)

您可以将选择器组合成一个语句,用逗号分隔。

$('#intro, #trabalhos, #fotografia, #cv, #contactos').css('min-height',$(window).height()-88);

答案 1 :(得分:4)

您可以使用多个选择器组合代码

$("#intro,#trabalhos,#fotografia,#cv,#contactos").css('min-height', $(window).height() - 88);

$('.portfolio,.cv,.trabalhos,.fotografia,.contractos').click(function(e) {
    e.preventDefault();
    $('html,body').animate({
        scrollTop: $('#'+$(this).attr('class')).offset().top - 88; // <-- this assuming you only have one class
    }, 'slow');
});

答案 2 :(得分:4)

你使用相同的css为哪个id给他们一个共同的类   然后

     $(".common_class").css('min-height',$(window).height()-88);


  is it OK.