2

これは、 https ://github.com/alvarotrigo/fullPage.js にある fullPage.js という素晴らしいスクリプトです 。

js ファイルと css ファイルを読み込むことができ、Void メニュー モジュールを使用してもアンカー リンクを呼び出すことができましたが、このクールなコードの実装のデータ属性部分に苦労しています! どんな助けでも大歓迎です!Drupal 7.25 でデータ属性を機能させるにはどうすればよいですか? つまり、HTML が次のようになるように、それらをメニューに追加する必要があります。

<ul id="menu">
    <li data-menuanchor="firstPage"><a href="#firstPage">First slide</a></li>
    <li data-menuanchor="secondPage"><a href="#secondPage">Second slide</a></li>
    <li data-menuanchor="3rdPage"><a href="#3rdPage">Third slide</a></li>
    <li data-menuanchor="4thpage"><a href="#4thpage">Fourth slide</a></li>
</ul>

Drupal のメイン メニューに追加したいだけです。方法はありますか?これを私のホームページに実装しようとしており、Display Suite Module がインストールされた Adaptive Sub-Theme を使用しています。

以下を template.php に追加しましたが、まったく違いはありません:

function MY_THEME_NAME_menu_link(&$variables) {
  $variables['element']['#attributes']['data-menuanchor'] = substr($variables['element']['href'], 1);
  return theme_menu_link($variables);
}

ここで何が間違っていますか?

編集

サイトマニアックスのテーマはここからダウンロードできます: http://dream-portal.net/dpdowns/MyProblem.zipここ から Drupal からアダプティブ テーマをダウンロードし、sitemaniacs を自分の sites/all/themes フォルダーにコピーして、テーマを有効にするだけです。そしてあなたのホームページに行きます。

Drupal なしで完全に正常に動作する例である fullPage というフォルダーもあります。

注意すべきファイル:

/sites/all/themes/sitemaniacs/scripts/custom.js
/sites/all/themes/sitemaniacs/template.php
/sites/all/themes/sitemaniacs/css/example2.css
/sites/all/themes/sitemaniacs/sitemaniacs.info

他に何か必要なことがあれば教えてください、k?

そしてありがとうございました!!!私がやったことは、4つの基本ページを作成し、フィールドフォーマッタークラスモジュールsectionを使用して、フロントページに昇格するよりも、ボディフィールドに(ディスプレイを管理するときに)として定義されたクラスを与えることです。別の Node Type 内で HTML を使用し、NodeBlock ModuleMenu Barを使用して、それをブロックのセクション内のメニュー項目として url で出力しました<front>。これに他に何か必要な場合はお知らせください。ただし、この単純なアプローチでは機能しません。私もそれを行う方法をたくさん試しましたが、うまくいきません。機能する方法を見つけた場合、または別の場所で何かが間違っている可能性がある場合は、お知らせください....

ストレートHTMLを試してみたところ、次のようになりました:

Uncaught TypeError: Cannot read property 'top' of undefined    jquery.fullPage.js?mzf0rp:506
scrollPage       jquery.fullPage.js?mzf0rp:506
doneResizing       jquery.fullPage.js?mzf0rp:889

最初のエラーは、scrollPageこの行の関数で発生したようです:

var dtop = dest !== null ? dest.top : null;

dest.topで定義されていないようです.top。理由はありますか?

4

2 に答える 2

0

メニュー項目ごとにカスタム属性を追加できるメニュー リンク属性モジュールを使用します。

于 2017-09-04T07:38:20.210 に答える