Advanced Custom Fieldsに設定ができない。(パート2)
「Advanced Custom Fields」は、簡単にカスタムフィールドを追加できるとても便利なプラグイン。本来はカスタムフィールドを使う場合、適切な入力フィールドを1つ1つコーディングしなければなりませんが、このプラグインを導入すれば、様々な種類のカスタム入力フィールドを簡単に設定する事ができます。
以前、本ブログで、「Advanced Custom Fields」で設定が利用できなくなった話をさせて頂きました。理由は、Advanced Custome Fieldsでは、設定のアクションを起こす際には、<a href=”#”>タグを使っているため、例えば、独自に作り込んだJavaScriptの以下のような処理を記述(スムーススクロール)すると、処理がこちらに遷移してしまい(競合する)、設定が利用できなくなるというものでした。
1 2 3 4 5 6 7 | jQuery(function($){ var t = jQuery('.siteHeader-frm').outerHeight(); jQuery("a[href^=#]").click(function () { /* 競合しちゃう。*/ var e = $(this).attr("href"), o = $("#" == e || "" == e ? "html" : e), n = o.offset().top - t; return jQuery("html, body").animate({scrollTop: n}, 500, "swing"), !1 }); }); |
前回は、スムーススクロールが必要無かったので、削除にて対応しましたが、今回は、スムーススクロールも利用しつつ、「Advanced Custom Fields」の設定も問題なく利用させる必要がありました。その、ソースの記載方法について、備忘録も兼ねて記載しておきます。
以下です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | jQuery(function($){ var header_height = jQuery('.siteHeader-frm').outerHeight(); jQuery('a[href^="#"]').click(function () { var jump_string = $(this).attr("href"); var o = $("#" == jump_string || "" == jump_string ? "html" : jump_string); if("#" == jump_string || "" == jump_string){ //for Advanced Custom Fields return ; } else{ var object = $(jump_string); } jump_position = object.offset().top - header_height; return jQuery("html, body").animate({scrollTop: jump_position}, 500, "swing"), !1 }); }); |
#が来た時だけ、抜けるようにして上げれば良いわけです。
WEB DESIGN全てお任せ!ホームページ制作
RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。
「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。
運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。
しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。
本業が忙しい中小企業様に大変ご好評を頂いている商品です。
独自ドメイン取得
サーバー開設&設定
レイアウト設計
レスポンシブルデザイン
(*1)検索エンジン最適化
(SEO対策)場所Maps
お問い合わせフォーム
SSL化
各種SNS連携
運用マニュアル