显示/隐藏按钮消失
Show/hide buttons disappear
$(document).ready(function() {
$("button").click(function() {
$("#incl").toggle(500);
$(this).hide();
$("button").text('hide');
});
});
#incl {
display: none;
}
.incl {
position: absolute;
z-index: 800;
background-color: #00689C;
text-align: left;
padding: 0 5px 5px 5px;
color: #ffffff;
font-size: 1.25em;
border-radius: 3px;
line-height: 1.5em;
margin: -197px -10px 0 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("button").click(function() {
$("#incl").toggle(500);
$(this).hide();
$("button").text('hide');
});
});
</script>
<button>INCLUDES</button>
<div id="incl">
<ul class="incl">
<li>bla bla bla</li>
<li>bla ti bla</li>
<li>bla bla</li>
</ul>
</div>
当我运行这个场景时,按钮消失了。我希望发生的是echo"includes"的按钮必须echo"hide"我正在尝试制作一个显示项目详细信息的按钮,然后隐藏它们。
这应该是您想要的。使用$(this).text()
(不带任何参数(将获得按钮的当前文本。我存储它,然后根据它当前的设置进行交换,并在"隐藏"或"包括"之间切换。
您也可以执行以下任何操作:
- 创建两个按钮和两个单击处理程序。第一个显示按钮将显示"隐藏"按钮,显示内容,并隐藏"显示"按钮。第二个隐藏按钮将起相反的作用
- 如果正在显示内容(在函数之外(,则设置布尔值。然后,一个if/else语句将确定它是否已设置:
if ( contentShown )
{
$('#content').hide();
$('#button').text('Show');
}
else
{
$('#content').show();
$('#button').text('Hide');
}
contentShown = !contentShown; //Invert contentShown (Set it to true if false, or false if true)
请注意,我注释掉了css中的边距/位置,将其显示在下面的片段中。
$(document).ready(function() {
$("#toggle").click(function() {
$("#incl").toggle(500);
var currentText = $(this).text();
$(this).text(currentText == "INCLUDES" ? "HIDE" : "INCLUDES");
});
});
#incl {
display: none;
}
.incl {
/*position: absolute;*/
z-index: 800;
background-color: #00689C;
text-align: left;
padding: 0 5px 5px 5px;
color: #ffffff;
font-size: 1.25em;
border-radius: 3px;
line-height: 1.5em;
/*margin: -197px -10px 0 0;*/
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<button id="toggle">INCLUDES</button>
<div id="incl">
<ul class="incl">
<li>bla bla bla</li>
<li>bla ti bla</li>
<li>bla bla</li>
</ul>
</div>
按钮消失的原因是这一行:
$(this).hide();
在单击处理程序内部。
此外,你的类incl有边距:-197px-10px 0 0,这意味着在显示内容时需要对此进行调整。
在您的点击处理程序中,您可以测试按钮文本,以决定要执行的正确操作:
$(document).ready(function () {
$("button").click(function () {
$("#incl").toggle(500);
var sign = '-';
var txt = 'INCLUDES';
//
// According to the button text you can decide
// the next button text and if you need
// to correct the margings of your element
// adding or removing for the margins.
//
if (this.textContent == 'INCLUDES') {
sign = '+';
txt = 'hide';
}
$('.incl').animate({"margin-top": sign + "=197px", "margin-right": sign + "=10px"}, 500)
$("button").text(txt);
});
});
#incl {
display: none;
}
.incl {
position: absolute;
z-index: 800;
background-color: #00689C;
text-align: left;
padding: 0 5px 5px 5px;
color: #ffffff;
font-size: 1.25em;
border-radius: 3px;
line-height: 1.5em;
margin: -197px -10px 0 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>INCLUDES</button>
<div id="incl">
<ul class="incl">
<li>bla bla bla</li>
<li>bla ti bla</li>
<li>bla bla</li>
</ul>
</div>
相关文章:
- 如何显示没有按钮且在指定时间段后消失的消息框
- 单击按钮显示重新单击消失
- 单击一个按钮,直到它在CasperJS中消失
- 单击以调用 JavaScript 函数时,按钮不断消失
- 单击按钮时,文本框消失
- 当按下按钮时,隐藏复选框会出现(正确),但不会'再次按下时t消失
- 单击提交按钮后,答案逐渐消失
- Javascript单选按钮验证错误弹出不到一秒钟,但不应消失
- 按钮会因Chrome中同级元素上的动画而消失
- 当再次单击时,我希望颜色消失.(喜欢/讨厌按钮,一切都可以,但如果我点击两次喜欢按钮,我希望颜色消失)
- 十月CMS-单选按钮Ajax连续点击两次导致内容消失
- 单击“提交按钮”后,文本会迅速消失
- 在IE8中单击重置按钮后占位符消失
- HTML5 点击按钮后,一切都会消失
- 消失的单选按钮和可点击的标签
- 按下按钮时,所选选项将消失
- 为什么当我在 jQuery 中添加切换事件时我的按钮消失了
- 表单“提交”按钮文本(和宽度/高度/值)在按键时消失或更改BTN值
- 如果我多次单击提交按钮,下拉值就会消失
- jQuery滑入和滑出行为奇怪,按钮消失