Javascript 使用jQuery隐藏单击的元素并在其后面显示该元素
我想把问题放在一些HTML文本中,在用户单击按钮/链接/etc之前,答案是隐藏的,然后按钮/链接/etc消失,现在显示答案。答案将替换消失按钮/链接使用的空间。我希望像这样的问题能在文章中出现,而不仅仅是一个问题 例如,[我的想法]是一个按钮或链接:Javascript 使用jQuery隐藏单击的元素并在其后面显示该元素,javascript,jquery,dom,Javascript,Jquery,Dom,我想把问题放在一些HTML文本中,在用户单击按钮/链接/etc之前,答案是隐藏的,然后按钮/链接/etc消失,现在显示答案。答案将替换消失按钮/链接使用的空间。我希望像这样的问题能在文章中出现,而不仅仅是一个问题 例如,[我的想法]是一个按钮或链接: text text text Does ABC need anything? [my thoughts] text text text, text, text. 点击[我的想法]就会变成: text text text Does ABC
text text text
Does ABC need anything?
[my thoughts]
text text text, text, text.
点击[我的想法]就会变成:
text text text
Does ABC need anything?
ABC needs a a lot of DEF, and it will help ABC too if things are taken
slowly. Additionally, ABC needs a lot of sleep.
text text text, text, text.
根据评论:这是我找到的,但并不完全正确,因为我希望它继续在页面中使用它:
谢谢per Gothdo,我正在与:
<!DOCTYPE HTML>
<html>
<head>
<title>Test3</title>
<script>
$("button").click(function()
{
$(this).hide();
$(this).next().css("visibility", "visible");
});
</script>
<style type="text/css" >
div {
visibility: hidden;
}
</style>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>test</button><div>test test test</div>
</body>
</html>
请尝试以下代码:
$element.click(function() {
$(this).hide();
$(this).next().css("visibility", "visible");
});
代码段:
$button.clickfunction{
$this.hide;
$this.next.cssvisibility,可见;
};
div{
可见性:隐藏;
}
测验
测试类似的东西?文本出现,按钮消失 $function{ var-answer=$.answer; var clickable=$。clickable; 回答。隐藏 $.button.onclick,函数{ $this.hide 如果!回答。是:可见{ answer.show.addClassclickable }否则{ 回答:隐藏; } } //额外::使按钮和答案在单击时切换 $body.onclick、.clickable、函数{ $this.hide; 如果!回答。是:可见{ $.button.show; } } } .按钮{ 显示:内联块; 填充:10px; 背景:粉蓝; } 文本Lorem ipsum door sit amet,Concertetur adipising elit。多洛雷姆,阿斯佩里奥雷斯。 ABC需要什么吗? [我的想法] ABC需要大量DEF,如果采取措施,也会对ABC有所帮助 慢速地此外,ABC需要大量睡眠。 文本Lorem ipsum door sit amet,Concertetur adipising elit。多洛雷姆,阿斯佩里奥雷斯。 作用${ $hint=$'hint'; $question=$'。question'; $answer=$'。answer'; $hint.clickfunction{ $answer.htmlYes!; }; }jQuery; .问题{ 宽度:200px; 高度:50px; 背景:浅蓝色; } .答复{ 显示:块; } JS-Bin 我的剧本性感吗? 暗示
希望这对你有帮助。。。。 我将html、css和js添加在一起。如果你想,你可以使用外部css和js。我想这就是你所期望的。如果你尝试使用引导,这将非常容易
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<style type="text/css">
body{
font-family: monospace;;
}
.answer{
display: none;
}
</style>
<body>
<h4>text text text</h4>
<h4>Does ABC need anything</h4>
<button class="clickme">my thoughts</button>
<div>
<span class="answer">ABC needs a a lot of DEF, and it will help ABC too if things are taken
slowly. Additionally, ABC needs a lot of sleep.</span>
<span><h4>text text text text</h4></span>
<div>
<script type="text/javascript">
$(document).ready(function(){
$(".clickme").click(function(){
$(".answer").fadeIn(1000);
$(".clickme").hide();
});
});
</script>
</body>
</html>
请展示你的尝试;当你还没有尝试过我们知道的任何东西时,没有多少人愿意从头开始为你编写解决方案。你可以用css绝对定位[我的想法]相对于问题。@Daedalus,我在问题中添加了我发现的最好的例子。@Ray请包括你的实现,并描述为什么它不适合你。@Felipe,我是否可以缩小[我的想法]占用的空间,而不仅仅是隐藏它?隐藏是正确的,会弄乱它,但没有获得.next.show以拾取下一个元素,该元素的可见性设置为隐藏。但如果我能让它工作的话,你所列出的正是我想要做的。不过,下一步是什么呢?@Ray我不小心把它删除了;现在看。我还添加了一个代码片段。这看起来不错,只是给了其他答案他们的尊重,谢谢GothdoI。我不知道为什么我不能让它作为一个页面运行。请你帮忙,看看我在问题中的副本,不知道该把它放在哪里。我正在尝试下一页的多个副本。难道你不需要一些特殊的东西才能在点击的按钮/链接旁边得到答案吗?你可以将类名添加到你想要产生效果的元素中。我希望这会有帮助。将class按钮添加到button div[my Thinks]等中。根据@Gothdo答案,您更喜欢下一个吗?如果您想将元素添加到部分,您可以添加兄弟元素或HTML元素,然后获得兄弟元素,而不是特定元素。如果你以类为目标,你会得到特定的元素,比如你的目标按钮。若将元素添加到button旁边,则next可能不是您的目标元素。如果您知道DOM的外观,并且知道它将保持这种状态,那么使用next是很好的。它还有其他好处。基本上,当您使用类时,您的目标是元素,而不是遍历DOMthat@Ray添加了一点额外内容,以显示如何切换答案,以防您想知道如何切换答案。点击按钮和答案,他们就会出现和消失。我想@Gothdo已经知道了。我不明白为什么最后一个文本最初没有显示,按钮被点击了,可以吗?我喜欢你的淡入淡出,非常好。请注意,我需要一系列的这些进入页面,我正在研究如何使用@Gothdo显示的.next进行淡入淡出。