1

整个下午,

我有 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'); });
4

3 回答 3

6

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

$('#intro, #trabalhos, #fotografia, #cv, #contactos').css('min-height',$(window).height()-88);
于 2012-12-07T17:13:31.947 回答
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');
});
于 2012-12-07T17:15:19.733 回答
4

对于哪个 id,您使用相同的 css 给他们一个公共类,然后

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


  is it OK.
于 2012-12-07T17:18:47.507 回答