php - 单击同一按钮显示 Div 2 和隐藏 Div 1

标签 php javascript jquery css

我很抱歉写了这么一个愚蠢的标题。但我没有得到任何其他关键字。

无论如何,我想要的功能是我正在制作一个聊天应用程序,因此在我的页面中有一个在线用户列表。单击用户 1 时,将在页面右侧打开一个带有被单击用户名称的 div。但随后的问题是,当我单击用户列表中的其他用户名时,前一个用户 div 应该关闭,第二个用户 div 应该打开。

例子: 用户列表:

用户 1 用户 2

点击 USER 1 = DIV 1 出现。

然后当我点击 USER 2 时。

然后 DIV 1 应该隐藏,DIV 2 应该出现。

因此,如果有 USER 3,并且 DIV 1 已打开,如果我单击 USER 3,则 DIV 1 应该隐藏,DIV 3 应该显示。

我希望我说得足够清楚:)

代码:

<?php
   $get = mysql_query("SELECT * FROM friends WHERE online='1' AND to_id='$pid' AND active='Confirm'");
   while($get2 = mysql_fetch_assoc($get))
   {
    $id = $get2['id'];
    $senderid = $get2['sender_id'];

    $getpic = mysql_query("SELECT * FROM people WHERE id='$senderid'");
    $getpic2 = mysql_fetch_assoc($getpic);
    $mypic = $getpic2['filename'];
    $pic = "<img src=\"images/" .$mypic. "\" width=\"40\" height=\"40\">";

    $getname = mysql_query("SELECT * FROM users WHERE id='$senderid'");
    $getname2 = mysql_fetch_assoc($getname);
    $name = $getname2['fname'];

    echo "<style>table#user-$id:hover{background-color : #86daff; cursor : pointer;}</style><table width=\"200\" id=\"user-$id\">
    <tr>
    <td width=\"40\" style=\"padding-right : 4px;\">
     $pic
    </td>
    <td style=\"padding-right : 10px;float : left; color : blue;font-weight : bold;\">
    $name
    </td>
    <td>
    <table width=\"10\" height=\"10\" title=\"New Message !\" bgcolor=\"red\"><tr><td>    </td></tr></table>
    </td>
    </tr>
    </table>




    ";
    ?>


  <script>
  $(document).ready(function(){


     $("table#user-<?php echo $id; ?>").click(function(){

        $("#chatholder-<?php echo $id; ?>").show();

        //$("#chatinner-<?php echo $id; ?>").html(<?php echo $name; ?>);



     });



  });


  </script>


  </div></div></td>
  <td width="100">
 </td>
    <td>

    <div id="chatholder-<?php echo $id; ?>" style="display : none;float : right;width : 500px; height : 500px; border : 1px solid #d7d7d7;">
  <div id="chatinner-<?php echo $id; ?>" style="background-color : #86daff; padding-top : 5px; text-align : center; color : white; font-weight : bold; font-size : 14px;height : 25px; ">
  <?php echo $name; ?>
  </div>

  <br/>

<div id="send">
<textarea></textarea>

</div>



  </div>

















  <script>

  $('#chatholder-<?php echo $id; ?>').click(function(event){

                event.stopPropagation();

        });

         $('table#user-<?php echo $id; ?>').click(function(event){

               event.stopPropagation();

        });
        $('html').click(function() {

               $('#chatholder-<?php echo $id; ?>').hide();
                      });



  </script>

 </td>
   <?php

   }


 ?>

最佳答案

提供所有 div 的同一个类让我们说“.chat”,然后隐藏所有类为“.chat”的 div 并显示你想为 ex 显示的那个

<div id="user1" class="chat">
<div id="user2" class="chat">
<div id="user3" class="chat">

现在如果你想显示 id 为 user3 的 div,你可以这样做

$('.chat').hide();
 $('#user3').show();

如果您使用任何点击事件来显示和隐藏内容,那么使用实时点击而不是仅仅点击

$('#somebutton').live("click",function(){
     $('.chat').hide();
 $('#user3').show();
});

关于php - 单击同一按钮显示 Div 2 和隐藏 Div 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8544709/

相关文章:

php - 如何将 PHP 条件语句存储在数据库中供以后使用?

javascript - Jquery - 具有相同类但不同 ID 的多个元素使用相同的函数但结果不同

php - 在 Laravel Eloquent 模型中自动将当前 user_id 保存为默认帖子所有者字段

javascript - 如何在重建 url 后从 URL 传递过滤器值,以使用 Angular2 和 Typescript 实现无限滚动?

javascript - 为什么Function的原型(prototype)是一个函数,为什么Object继承自函数?

javascript - 无法在具有相同 ID 的元素上触发点击事件

jquery - 如何用jquery中的onchange事件触发daterangepicker事件?

javascript - 获取选择列表中最近添加/更改的项目(通过 jQuery 或 Angular JS)

javascript - 在 Twig 文件中导入 Twig 文件

php - 在 PHP 中自动刷新 MySQL 查询结果