我知道有关于这个主题的其他主题,但它们都不是noob友好的;) 我需要为学校建立一个网站,我想在点击它后突出显示。
这就是我所拥有的:
<!DOCTYPE html>
<html>
<title> De Vakman Wiersema </title>
<head>
<script type="text/javascript">
<!--
//-->
</script>
<style>
body {
background-color: #F2EEE6;
}
a {
text-decoration:none;
color: #FFFFFF;
}
div.head {
width: 1100px;
height: 50px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
border: 1px solid black;
background-color: #F2EEE0;
}
div.underhead {
width: 110px;
height: 500px;
border: 1px solid black;
background-color: #F2EEE0;
}
div.background {
background-color: #7F7A76;
position: absolute;
width: 100%;
height: 50%;
top: 0px;
right: 0px;
left: 0px;
}
#img1 {
margin-left: 292px;
margin-top: 10px;
border: 1px solid black;
}
#cssmenu {
width: 1000px;
font-family: Helvetica;
color: #FFFFFF;
position: absolute;
}
#cssmenu ul {
list-style-type:none;
padding:10px;
overflow:hidden;
background-color:#98BF21;
margin-left: 292px;
border-radius: 4px 100px 4px 4px;
}
#cssmenu a,
#cssmenu a:link,{
display:block;
width:200px;
height: 50px;
border: 1px solid black;
background-color:#98BF21;
}
#cssmenu li {
float:left;
margin-left: 50px;
border-radius: 5px;
padding: 0px;
display: inline-block;
}
#cssmenu li a {
background: #98BF21;
display: block;
padding: 10px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
#cssmenu li a:hover {
background: #11A304;
}
div.page {
width: 990px;
height: 800px;
margin-left: auto;
margin-right: auto;
border: 1px solid black;
background: #F7F5F5;
border-radius: 5px;
box-shadow: 0px 0px 20px 3px #7F7979;
padding: 5px;
margin-top: 80px;
}
</style>
</head>
<body>
<div class="background">
<div class="logo">
<a href="http://goo.gl/maps/jScbt" target="_blank">
<img id="img1" src="images/logo.jpg" alt="Logo" height="150" width="220">
</a>
</div>
<div id='cssmenu'>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#producten">Producten</a></li>
<li><a href="#klussendienst">Klussendienst</a></li>
</ul>
</div>
<div class="page">
Text
</div>
</div>
</body>
</html>
(抱歉没有使用任何“jsfiddle”或任何其他程序: - (
(P.S。网站上的条款是荷兰语)
答案 0 :(得分:2)
没有jQuery:
document.getElementById('cssmenu').onclick = function(e) {
e = e || window.event;
var t = e.srcElement || e.target;
while(t != this && t.nodeName != "LI") t = t.parentNode;
if( t.nodeName == "LI") {
t.style.backgroundColor = "#11A304";
}
};
答案 1 :(得分:1)
您可以使用Jquery。它是一个简单,快速和强大的库,允许您使用很少的代码(它是一个JavaScript库)做伟大的事情。 如果您将其粘贴到页面中,则可以获得所需内容:
<script type="text/javascript">
$('li').click(function(){
$(this).css( 'background-color', 'yellow' );
});
</script>
<强>说明强> 使用$('identifier'),您可以将事件绑定到页面的特定元素...它可以是html标记,id或类。在这种情况下,我们将点击绑定到 li 元素。
点击发生后,执行 function(){} 中的代码。使用变量 this ,我们引用刚刚单击的元素。使用方法.css(Jquery库的方法),我们改变了我们想要的属性。
它可以被翻译成:“每次点击一个li元素时,请执行以下操作:只需单击该元素并更改其css:将其背景颜色更改为黄色。”
答案 2 :(得分:0)
如果您不介意使用jQuery,可以在click上添加一个类,在css中该类提供突出显示的背景:
jQuery的:
$('#cssmenu li a').click(function () {
$(this).addClass('highlighted');
});
CSS:
#cssmenu li a.highlighted {
background: #11A304;
}
JSFIDDLE:http://jsfiddle.net/ZyK93/
答案 3 :(得分:0)
单击LI元素时,向该LI元素添加一个类,并从可能具有该类的任何其他LI元素中删除相同的类:
$('#cssmenu li').on('click', function() {
$(this).addClass('active').siblings().removeClass('active');
});
和没有jQuery的相同
var li = document.getElementById('cssmenu').getElementsByTagName('li');
for (var i=li.length; i--;) {
if (document.attachEvent) {
li[i].attachEvent('onclick', handler);
}else if (document.addEventListener) {
li[i].addEventListener('click', handler, false);
}else{
li[i].onclick = handler;
}
}
function handler() {
for (var i=li.length; i--;) {
li[i].className = li[i].className.replace( /(?:^|\s)active(?!\S)/ , '' )
}
this.className = this.className + ' active';
}