1

$('html,body').animate({私は単に次のスクリプトを持っています.9行目を見れば、あなたが見るでしょうscrollTop: target.offset().top - 95 }, 700);- 問題は、どのように数字95を変更するかです(offset().top XXの後です)画面幅が1030px未満の場合?

このコード行を追加して試してみましたが、うまくいきません。何が間違っているのかわかりません。if (width <= 1030) {

スクリプトは次のとおりです。

//Menu Scrolling To Sections//
    $(document).ready(function () {
    $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
        || location.hostname == this.hostname) {

        var target = $(this.hash);
        target = target.length ? target : $('[name=' + this.hash.slice(1) +']');

    if (target.length) {
        $('html,body').animate({
        scrollTop: target.offset().top - 95 }, 700);
    return false;
    }}});});
4

1 に答える 1

0

解決

変更する必要があります:

if (target.length) {
    $('html,body').animate({
    scrollTop: target.offset().top - 95 }, 700);

に:

if (target.length) {
    var topPadding= 0;
    if($(window).width() >= 1030)
        topPadding = 95;
    $('html,body').animate({
    scrollTop: target.offset().top - topPadding }, 700);

説明

var topPadding= 0; //Sets the default padding to 0 (for when the window is below 1300px)
if($(window).width() >= 1030) //Checks to see if the window width is wider than 1300px
    topPadding = 95; //If it is then set's padding to 95px as in your code above

注:必要な場所(設定95した場所)を変更したことtopPaddingscrollTop

于 2013-09-25T17:22:59.387 に答える