0

我有一些 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>

这给了我标题 Card #1 Card #2 Card #3

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

我不知道从哪里开始,用什么,php java?我将不胜感激示例,解决方案等。

4

1 回答 1

1

虽然我不会使用 IPB 的专有语法给你一个解决方案,但我将使用 PHP 代码来说明实现原理。您可能会在PhpFiddle上看到工作示例。

jQuery 也用于处理iframes 的可见性。

<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>
于 2013-07-02T14:09:32.210 回答