jquery - 如何以与背景相同的方式转换图像?

标签 jquery css

我想一起过渡图像和背景。

CSS

#div{
  background:black;
  width:100%;
  height:200px;
  transition: background 2.3s linear;
}

j查询

$(function(){
  $("#div").mouseover(function(){
    var $p = $("#div");
    $p.css("background-color","yellow");
    $(".img").attr("src","https://pt.seaicons.com/wp-content/uploads/2015/07/Mushroom-1UP-icon.png");
  });
});

我想在鼠标悬停时将图像与背景一起转换。是否可以?我怎样才能做到这一点? jquery 还是 css?

http://jsfiddle.net/ykrp7zbo/5/

最佳答案

您无法轻松转换 IMG 元素的来源。相反,使用 div 并将您想要的图像作为 css 背景图像放置。例如(对您的示例进行最少的更改):

--- HTML ---
<div id="div">
   <div class="img"></div>
</div>

--- CSS ---
#div {
  background: black;
  width: 100%;
  height: 200px;
  transition: background 2.3s linear;
}
div.img {
  background-image: url('http://icons.iconarchive.com/icons/graphicloads/100-flat/256/home-icon.png');
  height: 200px;
  background-repeat: no-repeat;
  transition: background 2.3s linear;
}

---- JS ----
$(function(){
    $("#div").mouseover(function(){
      var $p = $("#div");
      $p.css("background-color","yellow");
      $(".img").css({backgroundImage: "url(https://pt.seaicons.com/wp-content/uploads/2015/07/Mushroom-1UP-icon.png)"});
    });
});

将您的初始图像放在 CSS 中,您更新后的图像在修改 CSS 的 javascript 中。

关于jquery - 如何以与背景相同的方式转换图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50689841/

相关文章:

jquery - 修复了 Bootstrap 导航栏

jquery - 下拉菜单切换不起作用

javascript - 删除窗口哈希中的 # 以在函数中使用

css - 即使将溢出设置为隐藏,滚动条也会出现?

javascript - 如何在 vanilla javascript 中通过 DOM 创建多个元素?

javascript - 我将如何垂直对齐 JavaScript 文本?

javascript - JSON 数字/文本解析返回一些奇怪的结果

javascript - 限制一次预订的座位数量

jquery - 如何使用 jQuery 检查 div 内的段落数并删除其中的一些?

javascript - 从缩放 View 中使用 onclick 选择颜色