悬停链接时添加背景图像
Add background-image of background when hovering a link
我有以下代码:
<div class="container">
// some other code
<ul>
<li><a href="#about">about</a></li>
<li><a href="#service">service</a></li>
<li><a href="#contact">contact</a></li>
</ul>
</div>
<a>
链接的样式设置为按钮。
现在我想实现,当我悬停在<a>
链接上时,我将向容器div 添加背景图像。但每个<li>
都有自己的形象。因此,当我将鼠标悬停在"关于"链接上时,容器div会得到一个"关于"图像。当我悬停在"服务"链接上时,容器div 会得到一个"服务"图像。
我怎样才能做到这一点?
我已经尝试过:.container ul li a:hover .container{ background-image: url('path/to/image) }
.container ul li a:hover > .container{ background-image: url('path/to/image) }
.container ul li a:hover ~ .container{ background-image: url('path/to/image) }
.container ul li a:hover + .container{ background-image: url('path/to/image) }
当仅使用CSS是不可能的时,JavaScript/jQuery有没有办法?
jQuery:
$('.container > ul > li > a').each(function() {
$(this).hover(function() {
$('.container').toggleClass(this.hash.replace('#', ''));
});
});
.CSS:
.about { background-image: url('path/to/image1') }
.service { background-image: url('path/to/image2') }
.contact { background-image: url('path/to/image3') }
我认为单独使用 css
是不可能的<div class="container">// some other code
<ul>
<li>
<a href="#about" data-type="about">about</a>
</li>
<li>
<a href="#service" data-type="service">service</a>
</li>
<li>
<a href="#contact" data-type="contact">contact</a>
</li>
</ul>
</div>
然后
.container.about{
background-image: url(...)
}
和
jQuery(function ($) {
$('.container li a').hover(function () {
$('.container').addClass($(this).data('type'))
}, function () {
$('.container').removeClass($(this).data('type'))
})
})
演示:小提琴
<div class="container">
// some other code
<ul>
<li><a href="#about" id="1">about</a></li>
<li><a href="#service" id="2">service</a></li>
<li><a href="#contact" id="3">contact</a></li>
</ul>
</div>
$(document).ready(function() {
$('#1').hover(function(){
$('.container').css("background","url(images/pic1.jpg)");
}, function () {
$('.container').css("background","'none'");
});
$('#2').hover(function(){
$('.container').css("background","url(images/pic2.jpg)");
}, function () {
$('.container').css("background","'none'");
});
$('#3').hover(function(){
$('.container').css("background","url(images/pic3.jpg)");
}, function () {
$('.container').css("background","'none'");
});
});
相关文章:
- 可以在这里为背景图像设置滤镜吗
- 使用 js 将背景图像设置为 HTML
- 如何使用css动画/javascript使具有背景图像的元素出现
- 循环浏览多个身体背景图像
- 背景图像顶部的滚动图像不移动
- 在pdfmake中嵌入背景图像
- 修复选择菜单时的背景图像
- 使用css()设置背景图像;不起作用
- 鼠标悬停时如何居中放大背景图像
- 强制谷歌为javascript背景图像编制索引
- 淡入不带HTML的背景图像
- 具有淡入淡出效果的全背景图像
- 未加载随机背景图像
- 背景图像前显示Javascript警报
- javascript背景图像位置循环
- CSS动画背景图像的过渡越来越暗
- "Ken Burns效应”;悬停背景图像
- 通过ID JavaScript显示随机背景图像
- JavaScript背景图像
- 带有图像和背景图像的ClipTo