1

午後はみんな、

私は jQuery コードの 2 つのブロックを繰り返しています...行やパフォーマンスの点で単純化する方法があるかどうか疑問に思っていました。

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

セレクターをコンマで区切って、1つのステートメントに組み合わせることができます。

$('#intro, #trabalhos, #fotografia, #cv, #contactos').css('min-height',$(window).height()-88);
于 2012-12-07T17:13:31.947 に答える
4

同じcssを使用しているIDは、それらに共通のクラスを与えてから

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


  is it OK.
于 2012-12-07T17:18:47.507 に答える
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 に答える