特典機能について

PC版[ヘッダー固定]機能利用時一瞬スクロールされてしまいます。 | Cocoonテーマに関する質問 | Cocoon フォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法 
  7. ブラウザ環境チェックツール

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

また、問題の解決に至った場合には、トピック冒頭の「解決済み」リンクをクリックしていただけますと幸いです。

wpForoの解決済みリンク

また、有用な返信があった場合は「いいね!」リンクもご活用ください。返信者の励みになります。

wpForoのいいねリンク

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

スポンサーリンク
PC版[ヘッダー固定]機能利用時一瞬ス...
 
共有:
通知
すべてクリア

PC版[ヘッダー固定]機能利用時一瞬スクロールされてしまいます。


Akasumi0304
(@akasumi0304)
New Member
結合: 2か月前
投稿: 3
Topic starter  

お世話になります。

Cocoonをご利用させていただきありがとうございます。

PC版ヘッダー固定に関するご質問になります。
※以下全てPCページに関する内容になります。

ヘッダーとメニューの間に画像を載せているのですが、
下にスクロールしたときにヘッダーメニューが出るようにしたいため、
管理画面のCocoon設定から「ヘッダー固定」にチェックをいれましたところ、
動作はしているのですが、スクロールして固定ヘッダーメニューが表示される瞬間に画面が下に200px~600pxほど一瞬でスクロールされる現象が起きております。

下記ページを元に数値などをいじってみたのですが、
ヘッダーメニューが切り替わるタイミングは調整できても、上記現象は下スクロールは治りませんでした。

解決方法や代替案がございましたらご教示いただけないでしょうか?

参考ページ
https://wp-cocoon.com/community/cocoon-theme/%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%81%AE%E5%9B%BA%E5%AE%9A%E6%A9%9F%E8%83%BD%E3%81%A7%E3%80%81%E5%9B%BA%E5%AE%9A%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%BE%E3%81%A7/


引用
chu-ya
(@chu-ya)
Reputable Member
結合: 4か月前
投稿: 349
 

以下の事が起きているのでは。
ヘッダー画像の高さに合わせthreasholdの値を調整しましたか?

●手順
以下の設定をした。
[Cocoon設定]→[ヘッダー]→
ヘッダーの固定「ヘッダーを固定」
ヘッダーロゴ(例:横200×縦1000px

●現象
下に画面を600px下にスクロールすると、CSSを以下に変更し、ヘッダーをスリム化させる。
この為、ヘッダー高さが1000pxあるのに400px分一瞬に縮んで見える

.header-container{
position: fixed;
top: 0px;
left: 0px;
width: 100%;
}

また、ヘッダーの高さが600pxより、小さい場合、スクロール量が600pxに達しないとヘッダーが表われない(固定されない)。

●原因
/footer-javascript.phpのthreasholdが600px固定となっている。

●補足
画面を上にスクロールし、fixed→staticに伸ばす時、
ヘッダーが縮小されている為、スクロールtop:0になった時、一瞬で伸びる事となる。

●対策
600px固定ではなく、ヘッダーコンテナ高さ分($('.header-container-in').height())スクロールした時、ヘッダー固定では?

 


わいひら 件のいいね!
返信引用
Akasumi0304
(@akasumi0304)
New Member
結合: 2か月前
投稿: 3
Topic starter  

@chu-ya

 

ご回答ありがとうございます。

>●原因
>/footer-javascript.phpのthreasholdが600px固定となっている。

ここを数値を画像とヘッダーの高さを合わせた数値に変えても一瞬でスクロールされてしまう挙動は変わりませんでした。

 

>●対策
>600px固定ではなく、ヘッダーコンテナ高さ分($('.header-container-in').height())スクロールした時、ヘッダー固定では?

 

こちらの方法を試したいと思うのですが、どちらのファイルから調整すればよろしいでしょうか?

ご迷惑をお掛けいたしますが、ご教示いただけましたら幸いでございます。

 

また、PC版のヘッダーとその下の画像の配置とメニューバーの理想的な挙動をするサイトがございましたので、

参考までにお送りさせていただきます。

https://goyahso-okinawa.com/

 

引き続きご教示くださいましたら幸いでございます。

よろしくお願いいたします。

 


返信引用
chu-ya
(@chu-ya)
Reputable Member
結合: 4か月前
投稿: 349
 

申し訳ありません。
ヘッダーのCocoon設定の情報含め、現物を確認しないと回答は難しいです。


わいひら 件のいいね!
返信引用
Akasumi0304
(@akasumi0304)
New Member
結合: 2か月前
投稿: 3
Topic starter  

chu-ya様 

 

ご返信ありがとうございます。

テストページをアップしてみましたので、下記URLより御確認くださいませ。

http://esthe.main.jp/test/test/cocoon/

 

※トップページに表示されている「1920x1280」という画像は子テーマを作成し、

tmpフォルダ内「header-container.php」に「444x164」を記述して表示させ、そのバックグラウンドイメージとして「1920x1280」を表示させております。

 

よろしくお願いいたします。

 

 


返信引用
Akira
(@akira)
Noble Memberサイト
結合: 4年前
投稿: 1057
Akira - FacebookAkira - Twitter
 

@akasumi0304 さん

ご参考のサイトの動きは、Cocoon の「ヘッダーを固定する」の動きとは異なります。同じ動きにするには、Cocoon の「ヘッダーを固定する」の全面的な書き換えが必要です。

ただ、書き換えるぐらいなら、最初から自分で書くのが早いと思います。

尚、ご参考のサイトの動きにするには、お書きになっている CSS の変更も必要です。変更点が多いため、申し訳ありませんがサンプルコードの提示だけで済ませます。

「ヘッダーメニュー」を設定しただけの Cocoon のデフォルトの状態で以下のことをお試しください。

まず、画像ですが、テンプレートファイルの変更はおすすめしません。

※ 子テーマに header-container.php を設置した場合、親テーマのアップデートで header-container.php に変更があった時に、そのアップデート内容が反映されません。

子テーマの functions.php にコードを追加し、画像部分の HTML を書きます。また、予約ボタンも一緒に書けると思います。

add_action( 'wp_header_logo_after_open', function() {
  echo '<div id="header-image" class="header-image">
      <img src="https://placehold.jp/1920x1280.png">
    </div>';
});

次に、CSS を追加します。

※ この CSS は、ご参考のサイトの動きに必要な CSS です。先ほど申し上げた変更が必要な CSS ではありませんので、別途 CSS の変更が必要です。

.header-container {
  /* ヘッダーロゴの高さ */
  --logo-header-height: 100px;
}

.header-container-in {
  position: relative;
}

.logo-header {
  left: 50%;
  position: fixed;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}

.navi {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  z-index: 1;
}

.header-fixed.navi {
  bottom: auto;
  position: fixed;
  top: var(--logo-header-height);
}

.header-image {
  margin-top: var(--logo-header-height);
}

img {
  display: block;
}

/* キャッチフレーズが非表示の場合は不要 */
.tagline {
  display: none;
}

最後に、子テーマの javascript.js にコードを追加します。

const logoHeader = document.getElementsByClassName('logo-header')[0];
const navi = document.getElementById('navi');
const image = document.getElementById('header-image');
const fixedClass = 'header-fixed';
const getHeight = logoHeader.offsetHeight + navi.offsetHeight;

const observer = new IntersectionObserver(entries => {
  for (const entry of entries) {
    if (entry.isIntersecting === false) {
      navi.classList.add(fixedClass);
    } else {
      navi.classList.remove(fixedClass);
    }
  }
}, {
  rootMargin: `-${getHeight}px 0px 0px`
});

observer.observe(image);

添付動画は、その結果です。

This post was modified 2か月前 by Akira

わいひら 件のいいね!
返信引用
chu-ya
(@chu-ya)
Reputable Member
結合: 4か月前
投稿: 349
 

簡単な話しではないので、参考までに。
あくまで思い付きです、ご了承下さい。

●動作について
Cocoonですが、画面を下スクロールさせた際、top達した際、消えていたヘッダー画像を表示させます。
この為、Akasumi0304さんが言われるよう、一瞬にして表示されて見えます。

●添付HPについて
別物で、Cocoonの基本機能ではできません。
独自にカスタマイズの必要があります。

●案
画面を下スクロールし、ヘッダーメニューに達した時、CSSでヘッダーを固定させる。
画面を上スクロールし、ヘッダー位置に来たら、CSSのヘッダー固定を解除する。

[Cocoon設定]→[ヘッダー]→「ヘッダーの固定」ヘッダーを固定のチェックをしない

例:動作を保障するものではありません。
javascript.js

$(function() {
  // 元の位置を取得
  var t = $('#navi').offset().top;

  function currentCheck() {
    var scroll  = $(window).scrollTop();
    var navi = $('#navi').offset().top;

    if (scroll > navi) {
      // メニューを過ぎたので固定
      $('#navi').addClass('fixed');
    }else {
      // 元の位置に戻ったら、メニューの固定を解除
      if (t >  scroll) {
        $('#navi').removeClass('fixed');
      }
    }
  }

  $(window).on('load scroll', currentCheck);
});

CSS

#navi.fixed {
  left: 0px;
  position: fixed;
  top: 0px;
  width: 100%;
}

 


わいひら 件のいいね!
返信引用
共有:
スポンサーリンク
SWELLと業務提携しています
WordPressテーマSWELL
わいひらをフォローする
おすすめサーバー(コスパ・バックアップ重視型)

性能も兼ね備えながら安くブログ運営を開始できる点においてのNo.1。
それでいてブログ成長後は、十分すぎるほどのスペックアップ余力も担保されている。

◎安く始められる
◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/3(高速化プロトコル)に対応
◎東京・大阪でリージョン選択が可能
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎ディスク容量が多い
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎DBは14日以内なら無料自動復旧可能
◎ファイルも14日以内なら無料自動復旧可能
◎アダルト・出会い系サイト可
◎ドメインとサーバー代のチャージ払いが可能
○サーバ引っ越し依頼が可能(有料)

サービス運営期間:4年

1年以上の契約をする場合は、クーポンコード入力でさらに50%割引キャンペーン中!
※BOX2 ~ BOX8プラン契約の場合

クーポンコード:PK4JK4RJ

クーポンの使用方法はこちら

安定感抜群のサーバーです。あまり急激なアクセス変動がないアフィリエイトサイトに向いています。

◎nginxを用いた高速サーバー(完全SSD)
◎老舗サーバーなので安定感抜群
◎ディスク容量が多い
◎転送量が多い
◎同サービス内でドメイン管理が可能
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
◎DBは14日以内なら無料自動復旧可能
○ファイルは7日以内なら無料自動復旧可能
×プラン変更でCPUのスペックアップができない
×プラン変更しても即時反映されない
×アダルト・出会い系サイト不可

サービス運営期間:19年

とにかく速い。サイトに表示スピードを求めるならココ。
管理画面がシンプルで使いやすい。

◎nginxを用いた高速サーバー(完全SSD)
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎ディスク容量が多い
◎転送量が多い
○http/2(高速化プロトコル)に対応
◎毎日無料バックアップ(14日分)
×DBは手動で復旧(データ取得は無料)
×ファイルも手動で復旧(データ取得は無料)
◎サーバ引っ越しツールあり(無料)
○サーバ引っ越し依頼が可能(有料)
◎ドメインとサーバー代のチャージ払いが可能

サービス運営期間:3年

常に新しいことに挑戦しているフロンティア精神あふるるレンタルサーバーです。
LiteSpeedやHTTP/2を日本で初めて導入したサーバー。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/3(高速化プロトコル)に対応
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎転送量が多い
◎ディスク容量が多い
◎毎日無料バックアップ(14日分)
◎DBは14日以内なら無料自動復旧可能
×ファイルは手動復旧(データ取得は無料)
◎アダルト・出会い系サイト可
◎ドメインとサーバー代のチャージ払いが可能
○サーバ引っ越し依頼が可能(有料)

サービス運営期間:6年

格安な値段で始められる高機能サーバーです。
性能も備えつつ最安ならここ。
ただし少し機能は弱い。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎激安プランが用意してある
◎値段あたりのスペックが高い(コスパ良し)
◎サーバ引っ越し依頼が可能(無料)
◎アダルト・出会い系サイト可
○http/2(高速化プロトコル)に対応
△プランのアップは可能だがダウンは不可
△毎日自動バックアップ(1日分)
△前日のバックアップからのみ復元できる(無料)

サービス運営期間:6年

Cocoon
タイトルとURLをコピーしました