gpt4 book ai didi

javascript - 单击时隐藏/显示元素并更改 CSS

转载 作者:太空宇宙 更新时间:2023-11-04 00:08:51 28 4
gpt4 key购买 nike

我正在尝试构建一个包含一些链接的页面,当单击它们时,它会在同一页面上显示一个文本。我已经用 javascript/jQuery 做到了,它工作正常。

我要做的是改变事件链接的布局。我已经在之前关于该主题的问题上找了几个小时,但我有点迷路,因为我是 javascript/jQuery 的新手

这是一个FIDDLE 。你会看到我做了什么。我需要有关事件链接布局的帮助。例如,我希望为链接的文本设置另一种颜色,以便我们知道哪个链接处于事件状态)

这是我的 html 代码:

<div id="fond_soins">
<a class"asoins" href="javascript:showonlyone('onglet1');" >
<span class="icon">
<div id="acu1">
<h3 class="onglet">Titre 1</h3>
</div>
</a>
<a class"asoins" href="javascript:showonlyone('onglet2');" >
<span class="icon">
<div id="acu2">
<h3 class="onglet">Titre 2</h3>
</div>
</a>
<a class"asoins" href="javascript:showonlyone('onglet3');" >
<span class="icon">
<div id="acu3">
<h3 class="onglet">Titre 3</h3>
</div>
</a>
</div>

<div class="clear"></div>

<div id="contenu_soins">
<div class="newboxes" id="onglet1">
<div class="rectangle"></div>
<h2 class="titre_bloc">Titre1</h2>
<div class="clear"></div>
<div class="contenu-texte">
<div class="contenu-texte"><p>bloc 1</p></div> </div>
</div>
<div class="newboxes" id="onglet2">
<div class="rectangle"></div>
<h2 class="titre_bloc">Titre2</h2>
<div class="clear"></div>
<div class="contenu-texte"><p>bloc 2</p></div>
</div>
<div class="newboxes" id="onglet3">
<div class="rectangle"></div>
<h2 class="titre_bloc">Titre3</h2>
<div class="clear"></div>
<div class="contenu-texte"><p>bloc 3</p></div>
</div>
</div>

这是CSS:

#fond_soins {
height:280px;
background-color:#FFF;
width:100%;
}
#contenu_soins {
background-color:#FFF;
margin-top:30px;
min-height: 242px;
padding-top: 11px;
}
.newboxes {
padding-left:30px;
padding-right:30px;
padding-bottom:30px;
}
a.asoins, a.asoins:hover {
text-decoration: none;
}
#acu1 {
margin-left: 6em;
}

#acu1, #acu2, #acu3 {
width:15%;
height:165px;
border-radius: 15px;
border-style:solid;
border-color: #E5EAD9;
border-width:5px;
color:#777;
float:left;
margin-right:1em;
margin-top:69px;
}
#acu1:hover,#acu2:hover,#acu3:hover {
border-color:#333;
color:#333;
text-decoration:none;
}

h3.onglet {
text-align:center;
padding-top:135px;
}

#onglet1 {
display:block;
}
#onglet2, #onglet3 {
display:none;
}

#acu1.active, #acu2.active, #acu3.active {
border-color:#333;
color:#333;
text-decoration:none;
}

这是Javascript

function showonlyone(thechosenone) {
$('.newboxes').each(function(index) {
if ($(this).attr("id") == thechosenone) {
$(this).show();
}
else {
$(this).hide();
}
});
};

最佳答案

创建一个新的 css class name "active"as

    .active #acu1,.active #acu2,.active #acu3
{
text-decoration: underline;
border-radius: 15px;
border-style: solid;
border-color: Black;
border-width: 5px;
}

现在,对您的 javascript 函数进行小的更正,通过发送 this 添加一个参数运算符作为例如: <a class"asoins" href="javascript:void(0);" onclick="javascript:showonlyone('onglet3',this);" ></a>并在 js 函数中做一些更改,如

function showonlyone(thechosenone,CurrCtrl) {

$(".asoins").removeClass("active");
$(CurrCtrl).addClass("active");

$('.newboxes').each(function(index) {
if ($(this).attr("id") == thechosenone) {
$(this).show();
}
else {
$(this).hide();
}

});

};

关于javascript - 单击时隐藏/显示元素并更改 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820183/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com