タイトルのまんまですが別ページからアンカーで飛んできたときに、アコーディオンの指定の要素を開きたいときありますよね。ないですか?僕は仕事でありましたよ。とりあえず以下サンプルを見ていただければと思います。
Elementorでそんな機能は今のところないのでjQueryで作りました。
まず次のようにページを作成します。
Aページ(Bページへ飛ぶリンクボタン)
Bページ(アコーディオンページ)
Aページ
<a href=”b.html#num1>1番目を開く</a>
<a href=”b.html#num2>2番目を開く</a>
<a href=”b.html#num3>3番目を開く</a>
Bページ
アコーディオンウィジェットを配置します。
そのウィジェットの下にHTMLウィジェットを入れます。
< script > //アコーディオンの場合 jQuery(function () { var hash = location.hash; var tab = jQuery('.elementor-accordion-item'); if (hash.length) { //ハッシュがあったら if (hash.match(/#num/)) { //番号 var tabName = Number(hash.slice(4.1) - 1); //遅延 jQuery('.elementor-accordion').delay(100).queue(function () { //上部タブ部分 tab.children('.elementor-tab-title').removeClass('elementor-active'); tab.children('.elementor-tab-content').removeClass('elementor-active'); tab.children('.elementor-tab-content').css('display', 'none'); tab.eq(tabName).children('.elementor-tab-title').addClass('elementor-active'); tab.eq(tabName).children('.elementor-tab-content').addClass('elementor-active'); tab.eq(tabName).children('.elementor-tab-content').css('display', 'block'); }); //queue } //if hash } //hash.length }); < /script>
Aページのリンク先の#ハッシュタグを変更した際は、上記の8行目の箇所を変更してください。