[英]Change Background and block hover by onclick
我在JS上遇到问题,我自己无法解决问题。 我想要如果单击#footerblock,则#footerblock的背景会发生变化,然后该页脚会失去其“悬停效果”。
<script>
/* i want that footer does still there but di want that footer has no a hover effect*/
</script>
<footer class="hover">
<center>
<table id="footer"></table>
<a href="">Entwickler</a> <a href="">Datenschutzrichtlinie</a>
<a href="">AGB</a> <a href="">Nutzungsbedingungen</a>
<a href="">Partner</a>
</center>
</footer>
<span onClick="block()" id="footerblock"></span>
我想我的CSS并不重要,但是我必须在里面摆弄一些东西。
我的英语不好意思
您可以如下所示进行操作。 (注意:我假设您正在使用jQuery,因为它已被标记)。
基本上,我们要做的就是每当单击#footerblock
,我们就会在页脚中添加/删除新类,并从中删除现有的hover
类。 我们这样做是因为您的:hover
效果是像.hover:hover
这样的CSS编码的,因此删除hover
类将确保:hover
样式不会被应用。
此外,我们还将block_clicked
类切换到#footerblock
以更改其background-color
。
jQuery的:
$(document).ready(function () {
$('#footerblock').on('click', function() {
$('footer').toggleClass('clicked'); //toggling a new class on click to change background
$('footer').toggleClass('hover'); //toggling the hover class because your `:hover` pseudo is attached to it.
$(this).toggleClass('block_clicked'); //to add a custom style to the block when clicked.
});
});
CSS:
.clicked{
background-color: blue;
}
#footerblock.block_clicked{
background-color: red;
}
编辑(根据MLeFevre的评论进行了更新):将css规则修改为#footerblock.block_clicked
以消除对!important
的使用。
也许这会有所帮助: http : //fiddle.jshell.net/8F6xG/5/
$(document).ready(function(){
$('#footerblock').on('click',function(){
$('footer.hover').toggleClass('andClicked');
});
});
还在第40行上添加了此CSS行
footer.hover.andClicked,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.