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


Show by default first card for foreach

我有一些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?我将感谢示例、解决方案等。

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

jQuery还用于处理iframe的可见性。

<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>
相关文章: