我正在尝试构建一个我有一些链接的页面,当点击它们时,它会在同一页面上显示一个文本。我用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();
}
});
};
答案 0 :(得分:3)
创建一个新的css类名称“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();
}
});
};
答案 1 :(得分:0)
试试这个:
$(function(){
var links = $('.asoins');
links.click(function(){
$(this).toggleClass('activelink', true);
links.not(this).toggleClass('activelink', false);
});
});
CSS:
#acu1:hover,#acu2:hover,#acu3:hover, #fond_soins .activelink div {
border-color:#333;
color:#333;
text-decoration:none;
}
答案 2 :(得分:0)