代码之家  ›  专栏  ›  技术社区  ›  warm__tape

根据鼠标悬停时的子div属性设置父div的背景图像

  •  0
  • warm__tape  · 技术社区  · 7 年前

    出于某种原因,这不适合我。我有下面的代码。

    homeShowingWrapper div的背景 homeHero data-featured-image 属性 家庭展示包装 部门。

    以下是我的HTML结构:

    <div id="homeHero">
        <div class="homeShowingWrapper" data-featured-image="/uploads/Hover-Background.jpg">
            Content
        </div>
    </div>
    

    jQuery( document ).ready( function( $ ) {
    
        $("#homeHero").css("background-image" , "url(/uploads/Initial-Background.jpg);");
    
        $(".homeShowingWrapper").mouseover(function() {
    
            // Background-image
            var background = $(this).attr('data-featured-image');
    
            $("#homeHero").css("background-image" , "url(" + background + ");");
    
        });
    
    });
    

    知道为什么会这样吗 $("#homeHero").css("background-image" , "url(" + background + ");"); 行不应用背景图像?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Jeramiah Harland    7 年前

    正如Nawed Khan在评论中提到的,读取数据属性的正确方法是 data()

    I set up a jsFiddle 要解决问题并找到答案,我不仅需要使用 data('featured-image') ,但是jQuery中的分号 .css() 需要省去它才能工作。