【问题标题】:JavaScript.JQuery toggle and fade inJavaScript.JQuery 切换和淡入
【发布时间】:2020-03-13 00:39:47
【问题描述】:

如果您有一个 div 和两个没有 id 的单选按钮,并且每个按钮都禁用内容并在选中时显示新内容。应该很简单,但它不能正常工作。当单选按钮更改时,关闭该内容并淡入新内容,反之亦然。 这段代码有什么问题?是不是很简单?

<div class="radios">
                <div class="change__radio">
                    Home: <input name="change" type="radio" value="1" checked="true" />
                    Projects <input name="change" type="radio" value="2" />
                </div> 



 $(":radio").change( function(e) {
            $(".radios__home").toggle().fadeIn(400);
            $(".radios__projects").toggle().fadeIn(400);});

【问题讨论】:

  • 请在问题中包含相关的 HTML ......

标签: javascript jquery toggle fadein


【解决方案1】:

您的问题是.fadeIn 总是使元素可见,无论您对.toggle 做什么。因此,您需要检查选中的收音机的值并使用它来淡入/隐藏适当的元素。像这样的东西(但希望更漂亮一点):

$(":radio").change(function(e) {
  if ($(this).val() == 1) {
    $(".radios__home").fadeIn(400);
    $(".radios__projects").hide();
  } else {
    $(".radios__home").hide();
    $(".radios__projects").fadeIn(400);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="radios">
  <div class="change__radio">
    Home: <input name="change" type="radio" value="1" checked="true" /> Projects <input name="change" type="radio" value="2" />All
  </div>



  <div class="radios__home" style="display:block">Home Radio</div>
  <div class="radios__projects" style="display:none">Projects Radio</div>

</div>

【讨论】:

  • 而不是淡出,我假设切换也可以工作?
  • @lucklshot 是的,您可以使用带持续时间的切换。查看我的编辑。
  • 是的,但它仍然淡出,而不是淡出,我想在调用时立即切换/消失并淡入
  • @lucklshot 查看我的编辑;这将在新的 div 中淡出,但会立即隐藏旧的
猜你喜欢
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 2017-10-29
  • 2016-12-15
  • 2014-09-11
  • 2012-08-04
  • 2014-07-12
相关资源
最近更新 更多