jQuery 切换文本更改和隐藏元素
jQuery toggle text change and hide elements
尝试创建一个简单的功能,用户点击一个按钮,它会显示一个表单并更改按钮上的文本。当他们再次单击它时,表单会隐藏并且按钮文本会变回原来的样子。
这是我目前的情况:
$('a.subscribe').click(function() {
var link = $(this);
$('.intro_cta form').toggle(function(){
if ($(this).is(':visible')) {
$('a.enter').css('display','none');
link.text('CLOSE');
} else {
link.text('SUBSCRIBE');
$('a.enter').css('display','block');
}
});
});
和 HTML 标记:
<a href="#" class="subscribe button white">SUBSCRIBE</a>
<form class="subscribe_form">
<input type="text" placeholder="EMAIL"/>
<input type="submit" value="JOIN" />
</form>
<a href="<?php echo site_url(); ?>/home" class="enter button green">ENTER</a>
当用户单击订阅按钮时,它应该显示表单并隐藏输入按钮并将订阅按钮上的文本更改为 "CLOSE"。再次按下按钮时应该发生相反的情况。
这确实有点用处,但是切换会使表单滑入 - 我只是想让它显示或隐藏。
你可以使用
.fadeToggle()
对于 show/hide 没有那个幻灯片效果。
See here for documentation
检查这个没有切换的简单代码。
var check=false;
$("form").hide();
$("a.enter").hide();
$('a.subscribe').click(function() {
if(check==false){
check=true;
$(this).text('CLOSE');
$("form").show();
$("a.enter").show();
}else{
check=false;
$(this).text('SUBSCRIBE');
$("form").hide();
$("a.enter").hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="subscribe button white">SUBSCRIBE</a>
<form class="subscribe_form">
<input type="text" placeholder="EMAIL"/>
<input type="submit" value="JOIN" />
</form>
<a href="<?php echo site_url(); ?>/home" class="enter button green">ENTER</a>
尝试创建一个简单的功能,用户点击一个按钮,它会显示一个表单并更改按钮上的文本。当他们再次单击它时,表单会隐藏并且按钮文本会变回原来的样子。
这是我目前的情况:
$('a.subscribe').click(function() {
var link = $(this);
$('.intro_cta form').toggle(function(){
if ($(this).is(':visible')) {
$('a.enter').css('display','none');
link.text('CLOSE');
} else {
link.text('SUBSCRIBE');
$('a.enter').css('display','block');
}
});
});
和 HTML 标记:
<a href="#" class="subscribe button white">SUBSCRIBE</a>
<form class="subscribe_form">
<input type="text" placeholder="EMAIL"/>
<input type="submit" value="JOIN" />
</form>
<a href="<?php echo site_url(); ?>/home" class="enter button green">ENTER</a>
当用户单击订阅按钮时,它应该显示表单并隐藏输入按钮并将订阅按钮上的文本更改为 "CLOSE"。再次按下按钮时应该发生相反的情况。
这确实有点用处,但是切换会使表单滑入 - 我只是想让它显示或隐藏。
你可以使用
.fadeToggle()
对于 show/hide 没有那个幻灯片效果。
See here for documentation
检查这个没有切换的简单代码。
var check=false;
$("form").hide();
$("a.enter").hide();
$('a.subscribe').click(function() {
if(check==false){
check=true;
$(this).text('CLOSE');
$("form").show();
$("a.enter").show();
}else{
check=false;
$(this).text('SUBSCRIBE');
$("form").hide();
$("a.enter").hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="subscribe button white">SUBSCRIBE</a>
<form class="subscribe_form">
<input type="text" placeholder="EMAIL"/>
<input type="submit" value="JOIN" />
</form>
<a href="<?php echo site_url(); ?>/home" class="enter button green">ENTER</a>