我在网站的侧边栏中使用了图标和文字的组合,但是如果鼠标悬停在其中任何一个上,我希望图标和文字都能改变。在我的CSS文件中使用MouseOn和'hover',当鼠标悬停在图标上时,我已设法使其工作,但如果鼠标只悬停在文本上,则只有文本会更改,但图标也不会更改。有人知道这样做的方法吗?我的网站链接和我目前使用的代码如下。谢谢大家。
<span class="social-media-sidebar-panel">
<a href="https://www.facebook.com/re.televise" target="_external window fa">
<img src="http://www.retelevise.com/wp-content/themes/myownzee/branding/
socialmedia-facebook-1.png"
onmouseover="this.src='http://www.retelevise.com/wp-content/themes/myownzee/
branding/socialmedia-facebook-2.png'"
onmouseout="this.src='http://www.retelevise.com/wp-content/themes/myownzee/
branding/socialmedia-facebook-1.png'"
class="social-media-sidebar-icons" title="Facebook" alt="Facebook">
<span style="font-size: 0.8em">Facebook</span></a></span>
答案 0 :(得分:1)
尝试移动onmouseover和onmouseout事件以锚定并更改“this”。通过ID引用img。
答案 1 :(得分:1)
我对您完成此操作的方式做了一些更改:
此版本现在使用多个图像。
<强> JSFiddle DEMO 强>
<强> HTML:强>
<span class="sm">
<a href="#" class="mediaLink">
<img class="mediaPic" data-hover="http://placehold.it/60/4477ee/ffffff" src="http://placehold.it/60/224499/ffffff"/>
<div class="mediaText"> Facebook</div>
</a>
</span>
<span class="sm">
<a href="#" class="mediaLink">
<img class="mediaPic" data-hover="http://placehold.it/60/ee9933/ffffff" src="http://placehold.it/60/777777/ffffff"/>
<div class="mediaText"> Stack Overflow</div>
</a>
</span>
<span class="sm">
<a href="#" class="mediaLink">
<img class="mediaPic" data-hover="http://placehold.it/60/66aaff/ffffff" src="http://placehold.it/60/3388aa/ffffff"/>
<div class="mediaText"> Twitter</div>
</a>
</span>
<span class="sm">
<a href="#" class="mediaLink">
<img class="mediaPic" data-hover="http://placehold.it/60/dd1122/ffffff" src="http://placehold.it/60/991122/ffffff"/>
<div class="mediaText"> YouTube</div>
</a>
</span>
JavaScript(使用JQuery):
$(document).ready( function() {
$(".mediaLink").on( {
mouseenter: function() {
$(this).children(".mediaPic").data("static", $(this).children(".mediaPic").attr("src"));
$(this).children(".mediaText").css("color", "orange");
$(this).children(".mediaPic").attr("src", $(this).children(".mediaPic").data("hover"));
}, mouseleave: function() {
$(this).children(".mediaText").css("color", "white");
$(this).children(".mediaPic").attr("src", $(this).children(".mediaPic").data("static"));
}
});
});
<强> CSS:强>
.mediaLink {
display: block;
}
.mediaPic {
float: left;
width, height: 60px;
}
.mediaText {
height: 60px;
width: 150px;
padding-left: 10px;
line-height: 60px;
background: #242424;
color: white;
font-family: "Consolas"," Arial";
font-size: 18px;
float: left;
}
.sm {
margin: 5px;
float: left;
}
我将<a>
更改为children
(.mediaPic
和.mediaText
),当它被徘徊时。在mouseenter
上,当鼠标悬停在上方时,mouseleave
会将<a>
恢复为常规状态。
名为data-hover
的部分是您要将图片设置为的图片的网址,您将src
作为默认图像。当您将鼠标悬停在图像上时,脚本将会记住&#34;原始src
并在您离开图片(mouseleave
)时将其重新设置为。