【问题标题】:To Show Only Selected Div And Hide Rest All Other Divs仅显示选定的 div 并隐藏所有其他 div
【发布时间】:2014-12-03 06:01:40
【问题描述】:

有四个主 div 我在主 div 中有一个按钮和另一个容器 div。当我按下按钮时,容器 div 可见并且按钮的文本会发生变化,但所有主 div 都可见我的问题是我想隐藏所有其他 div,按下按钮的主 div 应该与容器 div rest 一起可见其他主要的 div 应该被隐藏。但我无法隐藏其他主要 div

<!DOCTYPE html>
<html>
<head>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
<script>
  $(document).ready(function(){

    $('.myButton').click(function(){
      if ( this.value == 'collapse' ) {
    // if it's open close it
    open = false;
    this.value = 'expand';
    $(this).next("div.container").hide("slow");
      }
      else {
    // if it's close open it
    open = true;
    this.value = 'collapse';
    $(this).next("div.container").show("slow");



  }
    });

  });
</script>



</head>
<body>
<?php
for($i=0;$i<=3;$i++)
{
echo"<div class='main' style='position:relative;border:1px solid #A5BEBE;background-color:         #E7EFEF;width:84%;  '> 
<b> sometext:-</b><a href='#'>$url</a><br>
<b>sometext :</b>$b<br>
<b>sometext :</b>$c<br>
<b>sometext :</b>$d<br>
<b>sometext :</b>$e<br>
<b>sometext :</b>$f<br>
<b>sometext :</b>$g</p>
<input type='button' value='expand' class='myButton'  target='".$i."'           style='position:absolute;left:85%;top:4%;background:#B20000;color:white;width:70px;height:20px;font-        size:15px;' >$i";

echo "<div  class='container'  style='display:none;background:white; '>

  <b> sometext:-</b><a href='#'>$url</a><br>
<b>sometext :</b>$b<br>
<b>sometext :</b>$c<br>
<b>sometext :</b>$d<br>
<b>sometext :</b>$e<br>
<b>sometext :</b>$f<br>
<b>sometext :</b>$g</p>
</div>";

echo "</div><br><br>";

}
?>

</body>
</html>

当我们点击一​​个按钮时,会发生两个事件 1:- 所有其他主 div 和容器 div 都被隐藏,只留下一个按下按钮的 div 2:- 按下按钮的 div 主 div 和容器 div 都显示并且按钮的文本更改为折叠

当我们再次单击按钮时,所举行的事件是 1:- 显示所有主 div,隐藏容器 div 2:- 按钮的文本更改为展开 在上述事件中,许多已经取得了成就。问题是我们无法隐藏主 div 的其余部分,留下当前主 div 的按钮已被按下

【问题讨论】:

    标签: javascript php jquery


    【解决方案1】:

    您可以隐藏其余的容器,例如

    $(document).ready(function() {
      var $mains = $('.main');
      var $bts = $('.myButton').click(function() {
        var $ct = $(this).next("div.container"),
          $main = $(this).closest('.main');
        if (this.value == 'collapse') {
          this.value = 'expand';
          $ct.hide("slow");
          $mains.not($main).show()
        } else {
          this.value = 'collapse';
          $ct.show("slow");
          $mains.not($main).hide()
        }
        //hide other container elements
        $('div.container').not($ct).hide();
        $bts.not(this).val('expand');
      });
    });
    

    $(document).ready(function() {
      var $mains = $('.main');
      var $bts = $('.myButton').click(function() {
        var $ct = $(this).next("div.container"),
          $main = $(this).closest('.main');
        if (this.value == 'collapse') {
          this.value = 'expand';
          $ct.hide("slow");
          $mains.not($main).show()
        } else {
          this.value = 'collapse';
          $ct.show("slow");
          $mains.not($main).hide()
        }
        //hide other container elements
        $('div.container').not($ct).hide();
        $bts.not(this).val('expand');
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <div class='main' style='position:relative;border:1px solid #A5BEBE;background-color:         #E7EFEF;width:84%;  '>
      <b> sometext:-</b><a href='#'>$url</a>
      <br>
      <b>sometext :</b>$b
      <br>
      <b>sometext :</b>$c
      <br>
      <b>sometext :</b>$d
      <br>
      <b>sometext :</b>$e
      <br>
      <b>sometext :</b>$f
      <br>
      <b>sometext :</b>$g
      <input type='button' value='expand' class='myButton' target='".$i."' style='position:absolute;left:85%;top:4%;background:#B20000;color:white;width:70px;height:20px;font-        size:15px;'>$i"; echo "
      <div class='container' style='display:none;background:white; '> <b> sometext:-</b><a href='#'>$url</a>
    
        <br>
        <b>sometext :</b>$b
        <br>
        <b>sometext :</b>$c
        <br>
        <b>sometext :</b>$d
        <br>
        <b>sometext :</b>$e
        <br>
        <b>sometext :</b>$f
        <br>
        <b>sometext :</b>$g</div>
    </div>
    
    <div class='main' style='position:relative;border:1px solid #A5BEBE;background-color:         #E7EFEF;width:84%;  '>
      <b> sometext:-</b><a href='#'>$url</a>
      <br>
      <b>sometext :</b>$b
      <br>
      <b>sometext :</b>$c
      <br>
      <b>sometext :</b>$d
      <br>
      <b>sometext :</b>$e
      <br>
      <b>sometext :</b>$f
      <br>
      <b>sometext :</b>$g
      <input type='button' value='expand' class='myButton' target='".$i."' style='position:absolute;left:85%;top:4%;background:#B20000;color:white;width:70px;height:20px;font-        size:15px;'>$i"; echo "
      <div class='container' style='display:none;background:white; '> <b> sometext:-</b><a href='#'>$url</a>
    
        <br>
        <b>sometext :</b>$b
        <br>
        <b>sometext :</b>$c
        <br>
        <b>sometext :</b>$d
        <br>
        <b>sometext :</b>$e
        <br>
        <b>sometext :</b>$f
        <br>
        <b>sometext :</b>$g</div>
    </div>

    【讨论】:

    • 显示所有主要的 div。只有按钮按下了该 div 的 div 以及容器 div 应该显示其余所有 div 应该被隐藏。
    • 谢谢,但另一个主 div 没有隐藏。它还应该隐藏只有第一个 div 应该与容器 div 一起显示
    【解决方案2】:
    $(document).ready(function(){
      $('.myButton').click(function() {
        var $ct = $(this).next("div.container");
        if (this.value == 'collapse') {
          this.value = 'expand';
          $ct.hide("slow");
     $('.myButton').parent().show("slow");
        } else {
          this.value = 'collapse';
          $ct.show("slow");
     $('.myButton').not($(this)).parent().hide("hide");
        }
    
    
    
      });
    });
    

    这将隐藏所有其他 div

    $(document).ready(function() {
         $('.myButton').click(function() {
        var $ct = $(this).next("div.container");
        if (this.value == 'collapse') {
          this.value = 'expand';
          $ct.hide("slow");
     $('.myButton').parent().show("slow");
        } else {
          this.value = 'collapse';
          $ct.show("slow");
     $('.myButton').not($(this)).parent().hide("hide");
        }
       
      
    
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <div class='main' style='position:relative;border:1px solid #A5BEBE;background-color:         #E7EFEF;width:84%;  '>
      <b> sometext:-</b><a href='#'>$url</a>
      <br>
      <b>sometext :</b>$b
      <br>
      <b>sometext :</b>$c
      <br>
      <b>sometext :</b>$d
      <br>
      <b>sometext :</b>$e
      <br>
      <b>sometext :</b>$f
      <br>
      <b>sometext :</b>$g
      <input type='button' value='expand' class='myButton' target='".$i."' style='position:absolute;left:85%;top:4%;background:#B20000;color:white;width:70px;height:20px;font-        size:15px;'>$i"; echo "
      <div class='container' style='display:none;background:white; '> <b> sometext:-</b><a href='#'>$url</a>
    
        <br>
        <b>sometext :</b>$b
        <br>
        <b>sometext :</b>$c
        <br>
        <b>sometext :</b>$d
        <br>
        <b>sometext :</b>$e
        <br>
        <b>sometext :</b>$f
        <br>
        <b>sometext :</b>$g</div>
    </div>
    
    <div class='main' style='position:relative;border:1px solid #A5BEBE;background-color:         #E7EFEF;width:84%;  '>
      <b> sometext:-</b><a href='#'>$url</a>
      <br>
      <b>sometext :</b>$b
      <br>
      <b>sometext :</b>$c
      <br>
      <b>sometext :</b>$d
      <br>
      <b>sometext :</b>$e
      <br>
      <b>sometext :</b>$f
      <br>
      <b>sometext :</b>$g
      <input type='button' value='expand' class='myButton' target='".$i."' style='position:absolute;left:85%;top:4%;background:#B20000;color:white;width:70px;height:20px;font-        size:15px;'>$i"; echo "
      <div class='container' style='display:none;background:white; '> <b> sometext:-</b><a href='#'>$url</a>
    
        <br>
        <b>sometext :</b>$b
        <br>
        <b>sometext :</b>$c
        <br>
        <b>sometext :</b>$d
        <br>
        <b>sometext :</b>$e
        <br>
        <b>sometext :</b>$f
        <br>
        <b>sometext :</b>$g</div>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      相关资源
      最近更新 更多