javascript - 为什么悬停时背景图像有时不显示

标签 javascript jquery html css

我有以下带有背景图片的 HTML:

<a href="find_provider.aspx" class="tabText" title="F">
    <div id="fp" class="mainImageNav floatLeft fp">
        <img src="theImages/icon.png" class="tabIcon vertAlign" title="F" alt="F" /> Find P
    </div>
</a>

CSS:

a.tabText {
    color: #FFF;
}
.mainImageNav
{
    width: 25%;
    height: 40px;
    line-height: 40px;
    vertical-align: middle;
    text-align: center;
    font-size: small;
    color: #FFF;
    font-family: 'Arial', 'Verdana';
    font-weight: bold;
}
.fp
{
    background: url('NotActive.png') no-repeat;
    background-size: 100% 100%;
    cursor: pointer;
}
.floatLeft {
    float: left;
}
.tabIcon
{
    width: 30px;
    height: 30px;
}
.vertAlign {
    vertically-align: middle;
}

JQuery:

$(function () {
    preload([
    '../theImages/Active.png',
    '../theImages/NotActive.png',
    ]);

    $('#fp').hover(function () {
        $('#fp').css("background-image", "url('Active.png')");
    }, function () {
        $('#fp').css("background-image", "url('NotActive.png')");
    });
});

function preload(arrayOfImages) {
    $(arrayOfImages).each(function () {
        $('<img/>')[0].src = this;
    });
}

我遇到的问题是,当页面首次加载时,会显示图像,但是当我将鼠标悬停在要更改的图像上时,大多数情况下背景图像会变成白色而不是显示更改后的图像,然后当我将鼠标移开,背景保持白色,而不是返回到默认图像。

请帮我解决,让图片变回默认状态,不显示白底。

最佳答案

尝试将您的 css 从使用 .fp 更改为 #fp

关于javascript - 为什么悬停时背景图像有时不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869284/

相关文章:

javascript - 开 Jest : Compare DOM element with JavaScript Object

javascript - 等待 JS 函数中的异步调用结束。 (jQuery.延迟?)

javascript - 当我尝试访问元素的数据时,为什么 jQuery 返回 undefined?

jquery - val() 不抓取当前输入值

jquery - 为过渡定位按钮

javascript - If 语句和 toggleClass

javascript - 使用 JavaScript for Firebase 居中图像

javascript - 抑制 "cannot instantiate non-constructor"警告

javascript - 如何使用 CSS 和 jQuery 向下扩展 "Read more..."部分

html - 选择一个类中的元素并在其后附加内容