首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在按钮单击时显示/隐藏Div:没有按预期工作?

在按钮单击时显示/隐藏Div:没有按预期工作?
EN

Stack Overflow用户
提问于 2018-06-10 06:18:59
回答 1查看 136关注 0票数 0

结果是:http://unidrones.co.za/PixieStudio/quotations.php

简单地说,我先是“添加新层”,然后是“删除层”,然后再试着把它添加回来,什么也没发生。下面是涉及到的两个JavaScript函数:

代码语言:javascript
复制
/*Remove Tier on Button Click*/
$(".button").click(function(){
    $(this).parent().find('select').prop('selectedIndex',0); //erase prices for this tier
    $(this).parent().hide();
    updateHandler();
});

/*Add New Tier on Button Click*/
$('#tier2, #tier3, #tier4, #tier5, #tier6').hide();
var count = 2, countMax = 6;
function addtier() {
  if(count > countMax) {
    return;
  }
  $('#tier' + count + '').fadeIn(1000);
  count++;
}

HTML (缩写):

代码语言:javascript
复制
<div id="tier2">
<button type="button" class="button">Remove</button>
...
</div>

<div id="tier3">
<button type="button" class="button">Remove</button>
...
</div>

<div id="tier4">
<button type="button" class="button">Remove</button>
...
</div>

我不确定如何准确地解释这个问题。如果您转到该链接并尝试添加/删除层,您可能会理解。

为什么在我删除这些层之后,它们不会重新出现?

EN

回答 1

Stack Overflow用户

发布于 2018-06-11 03:53:06

这里有另一种方法,它只使用CSS选择器,不需要跟踪显示了多少(因为这在DOM中是隐含的)。(对您的id和类进行了一些修改,因此这可能不适合您现有的代码)

代码语言:javascript
复制
$(function() {
  $('#hide').click( function() { $('.tier:not(:hidden)').last().hide() });
  $('#show').click( function() { $('.tier:hidden').first().show() });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tier">One</div>
<div class="tier">Two</div>
<div class="tier">Three</div>
<div class="tier">Four</div>
<div class="tier">Five</div>
<div class="tier">Six</div>
<button id="hide" type="button">hide</button>
<button id="show" type="button">show</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50778996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档