在悬停时更改图像但不更改图像位置

时间:2013-08-27 14:44:36

标签: jquery html css

我正在尝试在悬停时更改图像,它应该非常直接但由于某种原因它不会改变图像,我也注意到有一种抽搐。

jQuery的:

$('#first_default_circle').hover(
    function () {
        $(this).find('.default').hide();
        $('#first_default_circle_hover.default_hover').show();
    },
    function () {
        $('#first_default_circle_hover.default_hover').hide();
        $(this).find('.default').show();
    });

CSS:

.default {
     height: 86px;
     left: 280px;
     top: 50px;
     width: 86px;
 }
 img {
     position: absolute;
     background:#000;
 }
 .default_hover {
     display: none;
     height: 119px;
     left: 261px;
     top: 40px;
     width: 119px;
 }

Jsfiddle:http://jsfiddle.net/squidraj/Z6rNF/

请高度赞赏任何形式的帮助。谢谢。

4 个答案:

答案 0 :(得分:1)

$('#first_default_circle').mouseenter(function () {

     $('.default').attr('src','http://www.demo-pinksquid.co.uk/img/rewarding_icon_private_medical_insurance_ho.png')
 }).mouseleave(function () {

     $('.default').attr('src','http://www.demo-pinksquid.co.uk/img/rewarding_icon_private_medical_insurance.png')
 });

我强烈建议使用mouseenter,mouseout功能,因为它们仅在您进入和离开元素时触发。

答案 1 :(得分:1)

FIDDLE

<强> JS

$("#circle").hover(

function () {
    $('.default').hide();
    $('.default_hover').show();
},

function () {
    $('.default_hover').hide();
    $('.default').show();
});

<强> HTML

<div id="circle">
    <img src="http://www.demo-pinksquid.co.uk/img/rewarding_icon_private_medical_insurance.png" class="default">
    <img src="http://www.demo-pinksquid.co.uk/img/rewarding_icon_private_medical_insurance_ho.png" class="default_hover">
</div>

或者如果您喜欢某种淡化效果:

<强> FIDDLE

答案 2 :(得分:0)

$('#first_default_circle').mouseenter(function(){
$('#first_default_circle').find('img').attr("src","http://www.demo-pinksquid.co.uk/img/rewarding_icon_private_medical_insurance_ho.png");
});

$('#first_default_circle').mouseleave(function(){
$('#first_default_circle').find('img').attr("src","http://www.demo-pinksquid.co.uk/img/rewarding_icon_private_medical_insurance.png");
});

你可以使用这样的代替你的jquery脚本

更新了链接http://jsfiddle.net/Z6rNF/3/

答案 3 :(得分:0)

您的选择器不对:

$('#first_default_circle_hover.default_hover')

应该是:

$('#first_default_circle_hover .default_hover')

我还清理了一点CSS。

工作演示:http://jsfiddle.net/Z6rNF/1/