現在デフォルトスキンとして「Momoon(アクア)」を適用中。

サイドバー内のid付与「slide-in-」について | Cocoonテーマに関する質問 | Cocoon フォーラム

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

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

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

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

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

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

フォーラムのTwitterアカウント(@CocoonForum)はこちら

スポンサーリンク
Share:

[解決済] サイドバー内のid付与「slide-in-」について  


cocoon-user1206
(@cocoon-user1206)
Eminent Member
参加: 12か月 前
投稿: 39
2018年12月6日 16:26  

以下の質問でサイドバー内のidに「slide-in-」という接頭辞を付けて割り当てていると知りました。

https://wp-cocoon.com/community/cocoon-theme/%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e8%a1%a8%e7%a4%ba%e6%99%82%ef%bc%88%e3%82%b9%e3%83%a9%e3%82%a4%e3%83%89%e3%82%a4%e3%83%b3%e3%83%a1%e3%83%8b%e3%83%a5%e3%83%bc%e4%bd%bf%e7%94%a8%ef%bc%89%e3%81%ae/#post-9220

私は自作のJavascriptを使用してDOMを操作して、サイトバー内のコンテンツを変化させるプログラムを使いたいと考えています。しかし、CocoonはPC用とモバイル用をレスポンシブ対応で切り替えた時に、PC用とモバイル用のコンテンツをそれそれ保持していて、それを表示・非表示を切り替えることをされていると思います。

 

問題点1

PC用で操作した内容は、モバイル用のコンテンツにそのままでは反映できません。

 

問題点2

イベントリスナーをPC用とモバイル用それそれに用意しなければなりませんし、Javascriptで指定するIDが2倍になり、冗長なプログラムになってしまいます。

 

問題点3

PC用とモバイル用のコンテンツを重複して持つのは、ブラウザーのリソースを多少余分に消費していると思います。

 

 

現状でも工夫次第で私が行いたいことは可能だと考えています。しかし、Javascriptでコーディングする前に一度立ち止まり再検討しています。

お忙しいところ申し訳ありませんが、開発者様やその他の参加者にご見解をお聞かせいただけたら嬉しく思います。どうかよろしくお願いいたします。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7342
わいひら - Facebookわいひら - Twitter
2018年12月6日 20:25  

しかし、CocoonはPC用とモバイル用をレスポンシブ対応で切り替えた時に、PC用とモバイル用のコンテンツをそれそれ保持していて、それを表示・非表示を切り替えることをされていると思います。

確認なんですが、これはサイドバー全体のことを指しておられるのですよね?


cocoon-user1206
(@cocoon-user1206)
Eminent Member
参加: 12か月 前
投稿: 39
2018年12月6日 20:46  

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

私はサイドバー全体について話しています。

ウイジェット「サイドバー」に設定した物全てが、PC用とモバイル用にそれぞれ読み込まれているという意味です。PC用とidが重ならないように、モバイル用には当初はidを削除されていたものが、「slide-in-」という接頭辞を付与して復活したと認識しています。

 

よろしくお願いします。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7342
わいひら - Facebookわいひら - Twitter
2018年12月7日 21:59  

まずそのような仕様にしているのは、JavaScriptフリーでスライドインメニューを実装するためです。
JavaScriptフリーにしている理由は、AMPページでもそのまま使いまわしができるからです。
JavaScriptを利用すれば、同一の#sidebarを利用したスライドインメニューも実装できますが、それだとAMPページでは使えないからです。
JavaScriptフリーで書く際に、何かある他に良いアイディア等ありますでしょうか。

問題点1
問題点2
これなどについては、別にIDでしてしなくても、双方部分のみに共通するクラス指定をすれば1つの指定でできると思います。
実際に試したわけではないですが、現状指定してあるクラスを鑑みる限り僕はできると思っています。

問題点3
そりゃ、ソースコードを出力すれば、リソースは消費すると思います。
けれど、JavaScriptフリー(CSSのみの操作)をやめてJavaScriptによる処理を追加しても、リソースは消費すると思います。
サイドバー部分のソースコードが増えることによるリソース消費よりも、僕はJavaScript処理の方が負担になると思っています。
そしてAMP部分を別に実装する負担も増えます。


cocoon-user1206
(@cocoon-user1206)
Eminent Member
参加: 12か月 前
投稿: 39
2018年12月7日 22:41  

わいひら様へ

なるほど、AMPはJavascriptの使用が制限されているので、それを使わずに切り替えるには、おそらく「Media Queries」を使われていると想像します。

Javascriptレスの方がリソースを低く抑えられます。私の意見は前提が異なってましたので、取り下げさせて頂きたいと思います。

Javascriptを使用したい側が現状に合わせて実装するのが良いと思います。そうしないとAMPに対応ができませんね。納得いたしました。

お手数をおかけして申し訳ありませんでした。

 

JavaScriptフリーで書く際に、何かある他に良いアイディア等ありますでしょうか。

「Media Queries」で切り替えるCSSを工夫すればもっと良い方法があるかもしれません。表示・非表示を切り替えるのではなく、同じコンテンツをCSSで変化(z-indexでフロートとか)させて使うようなことが出来ればと思いますが、cocoonを使わせて頂いて1週間未満の私が具体的に言えることは今はありません。モバイル用ページの「サイドバー」ボタンをタップするとスライドインしてきますが、Javascirptを使わずにどうやって実現しているのか分かってないレベルです。

 

問題点1
問題点2
これなどについては、別にIDでしてしなくても、双方部分のみに共通するクラス指定をすれば1つの指定でできると思います。
実際に試したわけではないですが、現状指定してあるクラスを鑑みる限り僕はできると思っています。

こちらに関しては実際にやってみます。

 

ご丁寧にありがとうございました。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7342
わいひら - Facebookわいひら - Twitter
2018年12月8日 19:18  

Cocoonでは、通常ページ、モバイルページ、AMP全てで成立させつつ、最小限の手間(労力)で実装させようと思うと、僕の知る限りでは、現在の実装方法がベストでした。
AMPさえなければ、もっと楽ができるのですけど^^;

モバイル用ページの「サイドバー」ボタンをタップするとスライドインしてきますが、Javascirptを使わずにどうやって実現しているのか分かってないレベルです。

チェックボックスとCSSを組み合わせてアニメーションさせています。
この手法が最もブラウザにも負荷がなさそうだったので。


cocoon-user1206
(@cocoon-user1206)
Eminent Member
参加: 12か月 前
投稿: 39
2018年12月9日 22:02  

わいひら様へ

私はAMPに対応したサイトを一度も作成したことがないので、どのぐらい制約があるのか想像しかできません。今後チャレンジしてみようと思います。そうすれば、今回の疑問について認識が深まるはずです(^^;)

 

チェックボックスとCSSを組み合わせてアニメーションさせています。
この手法が最もブラウザにも負荷がなさそうだったので。

以下のサイトをみてきました。

CSSだけでアコーディオンを作る方法(レスポンシブ&矢印付)
https://saruwakakun.com/html-css/reference/accordion

 

こんな方法が存在していたなんて知りませんでした。興味深いですね。


わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7342
わいひら - Facebookわいひら - Twitter
2018年12月9日 22:59  

そうそう、この方法です。
この方法を採用すると、「チェックボックス」の次に「内容(今回の場合サイドバー)」を書く必要があるので、「本来のサイドバー(#sidebar)」の使いまわしができませんでした。

CSSセレクタでいうと.cssacc:checked + .accshow{}の部分です。

This post was modified 12か月 前 by わいひら

わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7342
わいひら - Facebookわいひら - Twitter
2018年12月9日 23:03  

AMPページでも、AMPが用意しているライブラリを利用すれば、スライドインメニューは可能とは思います。
ただ、別のソースコードを条件分岐して用意する必要があり処理も複雑となるので、管理コストが上がってしまいます。
なので、PC、モバイル、AMP全てで同一コード共通で利用できる今回の方法を採用した感じです。


cocoon-user1206
(@cocoon-user1206)
Eminent Member
参加: 12か月 前
投稿: 39
2018年12月11日 21:39  

わいひら様へ

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

CSSセレクタでいうと.cssacc:checked + .accshow{}の部分です。

あれからソースサンプルを触りながら勉強しました。「+」は隣接兄弟結合子と言うそうです。クラス「.cssacc」がチェック済みになったら、直後の要素にCSSを適用するという意味になるようです。「+」以外のセレクターを使っても、相対的な指定しか出来なさそうなので、やはり現状に落ち着いていることは理解しました。

 

AMPページでも、AMPが用意しているライブラリを利用すれば、スライドインメニューは可能とは思います。
ただ、別のソースコードを条件分岐して用意する必要があり処理も複雑となるので、管理コストが上がってしまいます。

AMPが今後どうなっていくのかにもよりますよね。高度にAMPに対応するのは「今」ではないかもしれませんね。

ありがとうございました。


わいひら 件のいいね!
わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 7342
わいひら - Facebookわいひら - Twitter
2018年12月12日 20:17  

「+」以外のセレクターを使っても、相対的な指定しか出来なさそうなので、やはり現状に落ち着いていることは理解しました。

そうなんです。JavaScriptを使用しないで、+以外のCSSで指定できればオールOKなんですけどね^^;


cocoon-user1206 件のいいね!
Share:
スポンサーリンク
わいひらをフォローする
おすすめサーバ

性能も兼ね備えながら安くブログ運営を開始したいのであればここ1択。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎東京・大阪でリージョン選択が可能
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
◎ドメインとサーバー代のチャージ払いが可能
○サーバ引っ越しオプションあり(有料)
サービス運営期間:1年4ヶ月

1年以上の契約をする場合は、クーポンコード入力でさらに20%割引(※2019/12/18 17:00まで)。

クーポンコード:Y2KIC92J9Y

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

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

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

プラン変更で負荷対策が行えるので、ブログ向きのレンタルサーバーです。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎プランのアップ・ダウングレードが自由自在
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
○サーバ引っ越しオプションあり(有料)
○サーバー料金をチャージ払いが可能
サービス運営期間:3年

とにかく速い。サイトに表示スピードを求めるならココ。

◎nginxを用いた高速サーバー(完全SSD)
◎プランのアップ・ダウングレードが自由自在
◎ディスク容量が多い
◎転送量が多い
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
○DB復旧は無料(ファイルは有料)
○サーバ引っ越しツールあり
○サーバー料金をチャージ払いが可能
△新しいサービスなので運営櫪がまだ短い
サービス運営期間:1年2ヶ月

格安な値段で始められる高機能サーバーです。
性能も備えつつ最安ならここ。
サイトを続けるうちにアクセスが増えれば、プランのアップグレートで対応可能です。

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

Cocoon
  
動作中

ログイン または 登録 してください

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