默认情况下显示foreach的第一张卡片

时间:2013-07-02 11:43:30

标签: php html foreach invision-power-board

我有一些HTML

<ul class='ipsList_inline newClass' id='community_app_menu'>
<foreach loop="$pages as $page">
<li class='map_{$page['map_id']}'><a>{$page['map_title']}</a></li>
</foreach>
</ul>

这给我标题 卡#1卡#2卡#3

我想在每个结果(foreach)中添加一个iframe,默认显示一张卡片(总是第一张),其他iframe(默认隐藏)则通过点击卡片显示。

我不知道从哪里开始和使用什么,php java?我会很感激的例子,解决方案等。

1 个答案:

答案 0 :(得分:1)

虽然我不会通过使用IPB的专有语法为您提供解决方案,但我将使用PHP代码来说明实现原理。您可以在PhpFiddle上看到工作示例。

jQuery还用于处理iframe s'可见性。

<html>
<head>
    <title>PHP Script Execution</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"
    type="text/javascript"></script>
    <script type="text/javascript">
        function show(id) {
            $('iframe[id^="frame_"]').hide();
            $("#frame_" + id).show();
    }
    </script>
</head>

<body>
    <?php
    $pages=array(
      array('map_title'=>'PHP','map_id'=>1),
      array('map_title'=>'HTML','map_id'=>2)
    );
    ?>
    <ul class='ipsList_inline newClass' id='community_app_menu'>
        <?php
        foreach ($pages as $page) {
        ?>
        <li style="display:inline;">
            <a id="link_<?php echo($page['map_id']);?>" onclick=
            "show(<?php echo($page['map_id']);?>);"><?php echo $page['map_title']?></a>
        </li><?php
        }
        ?>
    </ul><?php
    foreach ($pages as $page) {
    ?><iframe height="500px" id="frame_<?php echo($page['map_id']);?>"
    name="frame_<?php echo($page['map_id']);?>" src=
    "http://www.wolframalpha.com/input/?i=<?php echo($page['map_title']);?>"
    width="100%"
    <?php 
      if ($page['map_id'] != 1) { echo "style='display:none'"; }
    ?>
    ></iframe> <?php
    }
    ?>
</body>
</html>