javascript - 选择此元素的第一个、第二个和第三个子元素

标签 javascript jquery html

我有两个显示和隐藏不同 div 的链接。 div 有 3 个元素 h2、p 和 img,我想分别为每个元素设置动画,但似乎不知道如何实现。

我想单击一个链接,并使每个元素具有不同的进入和离开动画。我在这里粘贴我的 html 和 jQuery 希望有人能帮忙。

function showonlyone1(thechosenone) {
  $('.uslugetxt').each(function(index) {
    if ($(this).attr("id") == thechosenone) {
      $(this).fadeTo("slow", 1);
      $(this).children().animate({
        fontSize: "50"
      }, 500)
    } else {
      $(this).fadeTo("slow", 0);
      $(this).children().animate({
        fontSize: "0"
      }, 500)
    }
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sidebarmenu">
  <a href="javascript:showonlyone1('x1');">analitycs</a>
  <a href="javascript:showonlyone1('x2');">PPC campaigns</a>
</div>
<div class="uslugetxt" id="x1" class="x1">
  <h2 class="naslovx">GOOGLE ANALITYCS</h2>
  <p>
    There is something funny about your data? You double question
  </p>
  <img src="imgs/analitika.jpg" alt="analitika-slika">
</div>

<div class="uslugetxt" id="x2" class="x2">
  <h2 class="naslovx">DISPLAY ADVERTISING</h2>
  <p>
    Display Advertising is partially covered through content Social networks like Facebook, Twitter, MySpace, LikedIn,
  </p>
  <img src="imgs/decasocial.jpg" alt="analitika-slika">
</div>

最佳答案

尝试使用 :nth() 伪选择器?

showonlyone1 = function showonlyone1(thechosenone) {
      $('.uslugetxt').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).fadeTo( "slow", 1 );
               $(this).children(":nth(0)").animate({fontSize: "50"}, 500, function(){ $(this).parent().children(":nth(1)").animate({fontSize: "30"}, 500)
               })
          }
        else {
               $(this).fadeTo( "slow", 0 );
               $(this).children().animate({fontSize: "0"}, 500)
          }
     });
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sidebarmenu">
  <a href="javascript:showonlyone1('x1');">analitycs</a>
  <a href="javascript:showonlyone1('x2');">PPC campaigns</a>
</div>
<div class="uslugetxt" id="x1" class="x1">
  <h2 class="naslovx">GOOGLE ANALITYCS</h2>
  <p>
    There is something funny about your data? You double question
  </p>
  <img src="imgs/analitika.jpg" alt="analitika-slika">
</div>

<div class="uslugetxt" id="x2" class="x2">
  <h2 class="naslovx">DISPLAY ADVERTISING</h2>
  <p>
    Display Advertising is partially covered through content Social networks like Facebook, Twitter, MySpace, LikedIn,
  </p>
  <img src="imgs/decasocial.jpg" alt="analitika-slika">
</div>

现在对于你的下一个问题,如何为动画计时,只需使用动画的完整功能即可。因此,当我的第一个动画完成时,第二个动画就会运行 - 但请记住,在已完成的函数的上下文中,“this”指的是动画元素!我们将返回到其父级,选择下一个子级,然后为其设置动画。

关于javascript - 选择此元素的第一个、第二个和第三个子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41983946/

相关文章:

javascript - 仅实现键盘:focus styling in 2021?的最佳方法是什么

javascript - 如何使用 Javascript 替换来更改数字变量

jquery - 单选按钮在 jquery formbuilder 中不起作用

html - 使用 div 创建 "product"表

python - 如何让汤解析不同风格的亚马逊网页

javascript - 根据单个查询字符串填充多个复选框

javascript - 在 JavaScript(使用 jQuery)中,我想在文档就绪 block 内提示输入电子邮件

javascript - 删除按钮的父级

javascript - 如何使用 Jquery 验证输入文本框中允许减号(-)且仅允许数字?

javascript - 如何限制 jsp 中的输入仅采用字母而不使用 JavaScript(因为 JavaScript 被禁用)?