1

こちらをご覧ください: http://test.neworgan.org/100/

コミュニティ セクションまでスクロールします。

私が達成しようとしているのは、ユーザーがサムネイルをクリックすると表示される新しいオーガナイザーのデータ (例: 友人の数 / 寄付された金額) を取得することです。現在、各ユーザーは独自のデータを外部に保存しています。

ユーザーがサムネイルをクリックすると、コンテンツとともに「inline1」が表示されます。

現在のところ、クリックしているユーザーのサムネイルに関係なく、最後に表示したユーザーのデータしか取得できません。ユーザーがクリックしたサムネイルに応じてコンテンツを変更する方法について、少し助けが必要です。それで、ここで何か助けてもらえないだろうかと思っていました。

コードの重要な部分は次のとおりです。

      <div class="top-fundraisers-wrapper">
     <div class="subsection top-fundraisers">

    <?php if ($top_fundraisers && is_array($top_fundraisers)): ?>
        <?php foreach ($top_fundraisers as $index => $fundraiser): ?>
           <a title="" class="fancybox" href="#inline1">
        <div class="top-fundraiser">

<div id="newo<?php print htmlentities($index + 1); ?>" class="top-fundraiser-image">
              <img src="<?php
          if($fundraiser['member_pic_medium']) {
                  print htmlentities($fundraiser['member_pic_medium']);
          } else {
            print $template_dir . '/images/portrait_placeholder.png';
          }
              ?>"/>
            </div>
    </div>
    </a>
        <?php endforeach;?>
    <?php endif; ?>

  </div>
</div>
</div>

<div id="inline1">
    <div class="top-fundraiser-image2">
    <img src="<?php
          if($fundraiser['member_pic_large']) { print htmlentities($fundraiser['member_pic_large']);
          } else {
            print $template_dir . '/images/portrait_placeholder.png';
          }
            ?>"/>
            </div>

    <span class="member-name"><?php print htmlentities($fundraiser['member_name']); ?></span>
        <span class="friend-count"><?php print number_format($fundraiser['num_donors']) . (($fundraiser['num_donors'] == 1) ? ' Friend' : ' Friends'); ?></span>


        <span class="fundraisers-text"> Donated: </span><span class="fundraisers-gold"> $<?php print number_format($fundraiser['total_raised']); ?></span>

</div>
4

4 に答える 4

0

fancybox を開く JavaScript 関数が、呼び出しクラスを介して正常に動作することを願っています。したがって、次のコードでは、Javascript コードをいじる必要はありません。

建物アンカー タグ:

<?php
if (!empty($top_fundraisers) && is_array($top_fundraisers)) {
    foreach ($top_fundraisers as $index => $fundraiser) {
        <a title="" class="fancybox" href="#inline<?php echo $fundraiser['id']; ?>">HTML Content Goes Here</a>
        <?php
    } //end of foreach
} // end of if condition
?>

ポップアップ HTML DOM の構築:

<?php
if (!empty($top_fundraisers) && is_array($top_fundraisers)) {
    foreach ($top_fundraisers as $index => $fundraiser) {
         <div id="inline<?php echo $fundraiser['id']; ?>">HTML Content Goes Here</div>
        <?php
    } //end of foreach
} // end of if condition
?>
于 2016-12-12T11:17:01.557 に答える
0

コンテンツ用に別のループを作成する

<?php if ($top_fundraisers && is_array($top_fundraisers)):
    $i = 1;
    foreach ($top_fundraisers as $index => $fundraiser): ?>
        <a title="" class="fancybox" href="#inline<?php echo $i; ?>">
        // ... content
    <?php $i++;
    endforeach;
endif; ?>

そして別のループ

<?php if ($top_fundraisers && is_array($top_fundraisers)):
    $i = 1;
    foreach ($top_fundraisers as $index => $fundraiser): ?>
        <div id="inline<?php echo $i; ?>">
            // inline content here
        </div>
    <?php $i++;
    endforeach;
endif; ?>
于 2016-12-12T10:47:08.833 に答える
-1

PHPはサーバー側で実行され、JavaScriptはブラウザーで実行されるため、これを実行することはできません。

これを実行するには、ユーザーの必要に応じAJAXてを取得するために使用できdivます。

...またはデータをクライアント側に保存し、#inline1クリックされたアイテムに基づいてコンテンツを変更します

于 2012-09-25T10:31:18.333 に答える