我有菜单此html选项卡:
<div class="myTabs">
<a href="#empleados" aria-controls="empleados" role="tab" data-toggle="tab">Employee</a>
<a href="#puestos" class="active" aria-controls="puestos" role="tab" data-toggle="tab">Global</a>
<div style="clear:both;"></div>
</div>
CSS:
.myTabs {
border: 1px solid #797979;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: -webkit-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: linear-gradient(to bottom, #ffffff 0%, #d6d6d6 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#d6d6d6', GradientType=0);
}
.myTabs a {
color: #000000;
border-left: 1px solid #797979;
display: block;
padding: 5px 10px;
float: right;
text-decoration: none;
}
.myTabs a:hover {
background: #ffffff;
background: -moz-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: linear-gradient(to bottom, #d6d6d6 0%, #ffffff 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#d6d6d6', endColorstr='#ffffff', GradientType=0);
text-decoration: none;
}
.myTabs a:active,
.myTabs a:visited {
text-decoration: none;
}
我想做的是将阴影插入选定的链接。例如,如果我选择员工表,请与Shadow一起选择它,如果我选择从员工中选择的全局一个Dispear,然后选择Global。我该如何实现?
有一个演示:jsfiddle
.myTabs {
border: 1px solid #797979;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: -webkit-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: linear-gradient(to bottom, #ffffff 0%, #d6d6d6 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#d6d6d6', GradientType=0);
}
.myTabs a {
color: #000000;
border-left: 1px solid #797979;
display: block;
padding: 5px 10px;
float: right;
text-decoration: none;
}
.myTabs a:hover {
background: #ffffff;
background: -moz-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: linear-gradient(to bottom, #d6d6d6 0%, #ffffff 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#d6d6d6', endColorstr='#ffffff', GradientType=0);
text-decoration: none;
}
.myTabs a:active,
.myTabs a:visited {
text-decoration: none;
}
<div class="myTabs">
<a href="#empleados" aria-controls="empleados" role="tab" data-toggle="tab">Employee</a>
<a href="#puestos" class="active" aria-controls="puestos" role="tab" data-toggle="tab">Global</a>
<div style="clear:both;"></div>
</div>
希望这就是您想要的。我可以做一个可以轻松工作的jQuery解决方案。
我必须将tabs
类添加到每个选项卡中,以便我们更轻松地选择它。并添加了.active
样式以制作标签shados
(function() {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].addEventListener('click', function(e) {
removeActive();
e.target.classList.add('active');
})
}
})();
function removeActive() {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].classList.remove('active')
}
}
.myTabs {
border: 1px solid #797979;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: -webkit-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: linear-gradient(to bottom, #ffffff 0%, #d6d6d6 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#d6d6d6', GradientType=0);
}
.myTabs a {
color: #000000;
border-left: 1px solid #797979;
display: block;
padding: 5px 10px;
float: right;
text-decoration: none;
}
.myTabs a:hover {
background: #ffffff;
background: -moz-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: linear-gradient(to bottom, #d6d6d6 0%, #ffffff 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#d6d6d6', endColorstr='#ffffff', GradientType=0);
text-decoration: none;
}
.myTabs a:active,
.myTabs a:visited {
text-decoration: none;
}
.active {
box-shadow: 0px 5px 5px grey;
}
<div id='myTabs' class="myTabs">
<a href="#empleados" class="tab" aria-controls="empleados" role="tab" data-toggle="tab">Employee</a>
<a href="#puestos" class="active tab" aria-controls="puestos" role="tab" data-toggle="tab">Global</a>
<div style="clear:both;"></div>
</div>
您当然可以使用javaScript面向对象!我将id
属性分配给每个按钮,创建一个名为Tab
的JavaScript类,并更新您的.myTabs a:hover
CSS,以便将其应用于具有selected
的CSS类的任何元素。这适合您的需求吗?
var tabs = [];
class Tab
{
select()
{
$("#" + this.id).addClass("selected");
}
deselect()
{
$("#" + this.id).removeClass("selected");
}
handle_click()
{
// deselect all other tabs
for (var i = 0; i < tabs.length; ++i)
tabs[i].deselect();
// select this tab
this.select();
}
constructor(id)
{
var tab = this;
this.id = id; // record HTML id for future use
tabs.push(this); // save tab in global list of all tabs
// add listener for click event
$("#" + this.id).click(function(){
tab.handle_click();
});
}
}
$(function() {
new Tab("empleados");
new Tab("puestos");
});
.myTabs {
border: 1px solid #797979;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: -webkit-linear-gradient(top, #ffffff 0%, #d6d6d6 100%);
background: linear-gradient(to bottom, #ffffff 0%, #d6d6d6 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#d6d6d6', GradientType=0);
}
.myTabs a {
color: #000000;
border-left: 1px solid #797979;
display: block;
padding: 5px 10px;
float: right;
text-decoration: none;
}
.myTabs a:hover, .myTabs a.selected {
background: #ffffff;
background: -moz-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #d6d6d6 0%, #ffffff 100%);
background: linear-gradient(to bottom, #d6d6d6 0%, #ffffff 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#d6d6d6', endColorstr='#ffffff', GradientType=0);
text-decoration: none;
}
.myTabs a:active,
.myTabs a:visited {
text-decoration: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myTabs">
<a id="empleados" href="#empleados" aria-controls="empleados" role="tab" data-toggle="tab">Employee</a>
<a id="puestos" href="#puestos" class="active" aria-controls="puestos" role="tab" data-toggle="tab">Global</a>
<div style="clear:both;"></div>
</div>