Magentoウェブサイトには、メニュー内の親li
要素の上にマウスが移動したときに表示されるメガメニューがあります。メガメニュー用JavaScript
ただし、ページが読み込まれるとすぐにメニューに移動すると、メガメニューが正しく表示されません。
ユーザーのインターネット接続が不十分な場合はさらに悪化します。
クロムインスペクタを確認した後、これは、over
クラスがli
に追加されていないためです。 1,2秒待ってからの親に戻ってli
の要素を入力すると、over
クラスが追加され、メガメニューのdisplay
cssプロパティがblock
に変更されます。
over
クラスを追加したjavascriptが見つかりました。これは、script.jsを使用しているテーマの一部です。
// CODE OMMITED FOR BREVITY
jQuery(window).load(function() {
// CODE OMMITED FOR BREVITY
if(jQuery('#nav-wide').length){
jQuery('#nav-wide li.level-top').mouseenter(function(){
jQuery(this).addClass('over');
if(mobileDevice == true){
document.addEventListener('touchstart', wideMenuListener, false);
}
});
jQuery('#nav-wide li.level-top').mouseleave(function(){
jQuery(this).removeClass('over');
});
// CODE OMMITED FOR BREVITY
}
// CODE OMMITED FOR BREVITY
});
なぜこのjavascriptを読み込むのに時間がかかりますか?または私はそれを改善する方法は?
に内テーマのmouseoverイベントリスナーを動かします。 jsが完全に読み込まれた後に非表示にします。 –
私は@ Ji_in_codingに同意します---あなたが深刻なコードやサーバーの最適化をしない限り、ほとんどのMagentoストアはゆっくりと読み込みます。ベストベットは、サイトが完全に読み込まれるまで「読み込み中」のオーバーレイです。 - Magentoがゆっくりと読み込む "理由"は数多くあります。私はそれがゆっくりと読み込まれているJSだけではなく、むしろサーバーがMagentoが置いた巨大なドローでゆっくりと応答していると言うことを念頭に置いています。 – Zak