これらの2つの機能がWebサイトの他の部分で誤動作を引き起こすのはなぜですか?

EnglishSound

私のウェブサイトの「functions.php」ファイルにいくつかのjQuery関数があります。以下の2つの機能はどちらも正常に機能しますが、Webサイトの他の部分で誤動作を引き起こすことに気づきました。しかし、それらを排除することにより、明らかに接続がまったくないにもかかわらず、これらの誤動作はなくなります。

たとえば、jQueryが他のページに適用されないようにしたり、要素の表示と非表示を切り替えて機能しないボタンを作成したりします。コードは正しいように思えます。助言がありますか?

jQuery(function($) {
    var hieghtThreshold = $('#come-funziona').offset().top -76 -$(window).height()/3;
    var hieghtThreshold_end  = $('#come-funziona').offset().top +$('#come-funziona').height() -76 -$(window).height()/3;
    $(window).scroll(function() {
        var scroll = $(window).scrollTop();
        if (scroll >= hieghtThreshold && scroll <=  hieghtThreshold_end ) {
            $('.come-funziona-lato').addClass('accendi');
            } else {
            $('.come-funziona-lato').removeClass('accendi');
            }
        });
    });

-

jQuery(function($) {
              var monthNames = ["gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre"];
              var dayNames = ["domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato"];
              var holidays = ["2019, 12, 8", // 8 DICEMBRE 2019
                              "2019, 12, 25", // 25 DICEMBRE 2019
                              "2019, 12, 26", // 26 DICEMBRE 2019
                              "2020, 1, 1", // CAPODANNO 2020
                              "2020, 1, 6", // EPIFANIA 2020
                              "2020, 4, 13", // PASQUETTA 2020
                              "2020, 4, 25", // 25 APRILE 2020
                              "2020, 5, 1", // 1 MAGGIO 2020
                              "2020, 6, 2", // 2 GIUGNO 2020
                              "2020, 8, 15", // 15 AGOSTO 2020
                              "2020, 11, 1", // 1 NOVEMBRE 2020
                              "2020, 12, 8", // 8 DICEMBRE 2020
                              "2020, 12, 25", // 25 DICEMBRE 2020
                              "2020, 12, 26", // 26 DICEMBRE 2020
                              "2021, 1, 1"]; // 1 GENNAIO 2021
              var endDate = "",
                noOfDaysToAdd = $(".valMixBeatVoce").html(),
                count = 0;
              var someDate = new Date(new Date().toDateString());
              var numberOfDaysToAdd = noOfDaysToAdd;
              someDate.setDate(someDate.getDate());
              while (count < noOfDaysToAdd) {
                endDate = new Date(someDate.setDate(someDate.getDate() + 1));
                var isHoliday = holidays.find(holiday => endDate.getTime() == new Date(holiday).getTime());
                if (isHoliday) {
                  console.log('holiday, skipping');
                } else if (endDate.getDay() != 0 && endDate.getDay() != 6) {
                  count++;
                }
              }
            $('#DateMixBeatVoce').html(dayNames[endDate.getDay()] + ' ' + endDate.getDate() + ' ' + monthNames[endDate.getMonth()]);
            $('#DateMixBeatVoce2').html(dayNames[endDate.getDay()] + ' ' + endDate.getDate() + ' ' + monthNames[endDate.getMonth()]);   
            });

更新

dev4lifeのアドバイスに従って、Paul Tの提案に従って、1行ずつコメントを外し、ブラウザコンソールを確認しました。エラーが発生する行は次のとおりですが、理由がわかりませんでした。

以下の両方の行で、コンソールブラウザに「UncaughtTypeError:Undefinedのプロパティ 'top'を読み取れません」と表示されます。

var hieghtThreshold = $('#come-funziona').offset().top -76 -$(window).height()/3;

var hieghtThreshold_end  = $('#come-funziona').offset().top +$('#come-funziona').height() -76 -$(window).height()/3;

そして、以下の2行について、彼は次のように述べています。「UncaughtTypeError:endDate.getDayは関数ではありません」

$('#DateMixBeatVoce').html(dayNames[endDate.getDay()] + ' ' + endDate.getDate() + ' ' + monthNames[endDate.getMonth()]);

$('#DateMixBeatVoce2').html(dayNames[endDate.getDay()] + ' ' + endDate.getDate() + ' ' + monthNames[endDate.getMonth()]);
ハーフアー

(質問の作成者に代わって投稿された解決策質問から回答スペースに移動します)

この方法で修正するのが正しいかどうかはわかりませんが、少なくとも機能します。ホームページのみに関数をロードさせました。

jQuery(function($) {
if ($('body.page-id-5749').length > 0) {  // That's home page
    var hieghtThreshold = $('#come-funziona').offset().top -76 -$(window).height()/3;
    var hieghtThreshold_end  = $('#come-funziona').offset().top +$('#come-funziona').height() -76 -$(window).height()/3;
    $(window).scroll(function() {
        var scroll = $(window).scrollTop();
        if (scroll >= hieghtThreshold && scroll <=  hieghtThreshold_end ) {
            $('.come-funziona-lato').addClass('accendi');
            } else {
            $('.come-funziona-lato').removeClass('accendi');
            }
        });
    }
    });

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

forループが機能しないのはなぜですか、それとも問題を引き起こしているのは他の何かですか?

分類Dev

PHP DateTime :: setTimeがstrtotimeの奇妙な動作を引き起こすのはなぜですか?

分類Dev

'EXISTS'を使用したこれら2つのクエリの動作が異なるのはなぜですか?

分類Dev

ここでgetSize()が機能しないのはなぜですか?サイズ変更時にちらつきが発生するのはなぜですか?

分類Dev

これらの2つのケースでunderscore.reduceの動作が異なるのはなぜですか?

分類Dev

grepがこれらのファイルでこの動作を生成するのはなぜですか

分類Dev

htaccessは1つのサーバーで正常に動作し、他のサーバーでリダイレクトループを引き起こします

分類Dev

@PostConstructがNullPointerExceptionを引き起こすのはなぜですか?

分類Dev

DialogFragmentがClassCastExcepetionを引き起こすのはなぜですか?

分類Dev

異常なJavaの動作-なぜこれが機能するのですか?

分類Dev

これら2つのDOMDocument関数の動作が異なるのはなぜですか?

分類Dev

このJavaScriptが私のWebサイトで機能しないのはなぜですか?

分類Dev

この割り当てがNPEを引き起こすのはなぜですか?

分類Dev

これら3つのaddKeyCommandのうち2つだけが機能するのはなぜですか

分類Dev

「==」演算子がこれらの2つのC文字列で機能するのはなぜですか?

分類Dev

これらの再スローされた例外のいずれかがコンパイラエラーを引き起こすのはなぜですか?

分類Dev

>> 24が-Wconversionを引き起こすのに、>> 23が引き起こさないのはなぜですか?

分類Dev

これらの2つのdivがブロックとして機能しないのはなぜですか?

分類Dev

これらのルールがOdoo11でこの動作をするのはなぜですか?

分類Dev

なぜこれがStackOverflowエラーを引き起こすのですか?

分類Dev

これらのゲッター/セッターの1つが機能し、他の1つが機能しないのはなぜですか

分類Dev

このサブクエリがエラーを引き起こさないのはなぜですか?

分類Dev

これらの2つのケースでgccコンパイラの動作が異なるのはなぜですか?

分類Dev

whileループのインデントが問題を引き起こすのはなぜですか?

分類Dev

jscrollpaneがJava Swingで奇妙なペイント呼び出しを引き起こすのはなぜですか?

分類Dev

配列を構築するこれらの2つの異なる方法が異なる動作を生成するのはなぜですか?

分類Dev

scanfが無限のforloolを引き起こすのはなぜですか

分類Dev

ReactJS-配列の重複を削除する関数がドロップダウンリストの誤動作を引き起こすのはなぜですか

分類Dev

なぜthrow自体が例外を引き起こすのですか?

Related 関連記事

  1. 1

    forループが機能しないのはなぜですか、それとも問題を引き起こしているのは他の何かですか?

  2. 2

    PHP DateTime :: setTimeがstrtotimeの奇妙な動作を引き起こすのはなぜですか?

  3. 3

    'EXISTS'を使用したこれら2つのクエリの動作が異なるのはなぜですか?

  4. 4

    ここでgetSize()が機能しないのはなぜですか?サイズ変更時にちらつきが発生するのはなぜですか?

  5. 5

    これらの2つのケースでunderscore.reduceの動作が異なるのはなぜですか?

  6. 6

    grepがこれらのファイルでこの動作を生成するのはなぜですか

  7. 7

    htaccessは1つのサーバーで正常に動作し、他のサーバーでリダイレクトループを引き起こします

  8. 8

    @PostConstructがNullPointerExceptionを引き起こすのはなぜですか?

  9. 9

    DialogFragmentがClassCastExcepetionを引き起こすのはなぜですか?

  10. 10

    異常なJavaの動作-なぜこれが機能するのですか?

  11. 11

    これら2つのDOMDocument関数の動作が異なるのはなぜですか?

  12. 12

    このJavaScriptが私のWebサイトで機能しないのはなぜですか?

  13. 13

    この割り当てがNPEを引き起こすのはなぜですか?

  14. 14

    これら3つのaddKeyCommandのうち2つだけが機能するのはなぜですか

  15. 15

    「==」演算子がこれらの2つのC文字列で機能するのはなぜですか?

  16. 16

    これらの再スローされた例外のいずれかがコンパイラエラーを引き起こすのはなぜですか?

  17. 17

    >> 24が-Wconversionを引き起こすのに、>> 23が引き起こさないのはなぜですか?

  18. 18

    これらの2つのdivがブロックとして機能しないのはなぜですか?

  19. 19

    これらのルールがOdoo11でこの動作をするのはなぜですか?

  20. 20

    なぜこれがStackOverflowエラーを引き起こすのですか?

  21. 21

    これらのゲッター/セッターの1つが機能し、他の1つが機能しないのはなぜですか

  22. 22

    このサブクエリがエラーを引き起こさないのはなぜですか?

  23. 23

    これらの2つのケースでgccコンパイラの動作が異なるのはなぜですか?

  24. 24

    whileループのインデントが問題を引き起こすのはなぜですか?

  25. 25

    jscrollpaneがJava Swingで奇妙なペイント呼び出しを引き起こすのはなぜですか?

  26. 26

    配列を構築するこれらの2つの異なる方法が異なる動作を生成するのはなぜですか?

  27. 27

    scanfが無限のforloolを引き起こすのはなぜですか

  28. 28

    ReactJS-配列の重複を削除する関数がドロップダウンリストの誤動作を引き起こすのはなぜですか

  29. 29

    なぜthrow自体が例外を引き起こすのですか?

ホットタグ

アーカイブ