javascript - css onmousehover 中的背景图像更改

标签 javascript jquery html css

我正在尝试制作一个类似于大型菜单的菜单,但对我来说没有任何效果,我正在粘贴我的代码以获得最简单的结果。

我有两个 div,一个用于图像,一个用于菜单。在其他 div 中的悬停链接图像应该改变。 CSS 或 JS 对我来说不是问题。

HTML=====

<div>

    <div id="img_div"></div>
    <div id="links_div">
        <ul>
            <li><a href="">Show image 1</a></li>
            <li><a href="">Show image 2</a></li>
            <li><a href="">Show image 3</a></li>
            <li><a href="">Show image 4</a></li>
            <li><a href="">Show image 5</a></li>
        </ul>
    </div>
</div>

CSS======

<style>
 #img_div{
    height: 200px;
    width: 200px;
    background: url("images/default.jpg");
    float: left;
}
 #links_div{
    float: left;
    height: 200px;
    width: 200px;
}
ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
}
ul li{
    display: block;
}
ul li a{
}
</style>

最佳答案

我已经使用 click 创建了一个代码示例,如果这正是您要查找的内容,请告诉我。我的猜测是,如果我正确理解了您的问题,您可以将“点击”替换为“悬停”。

更新:捕获鼠标事件而不是单击

$(document).ready(function() {
  $("#links_div a").on("mouseenter", function() {    
    $("#img_div").addClass($(this).attr('data-class'));
  });
  
  $("#links_div a").on("mouseleave", function() {
    $("#img_div").removeClass($(this).attr('data-class'));
  });
});
#img_div {
  height: 200px;
  width: 200px;
  background: url("http://placehold.it/200x200");
}
#img_div.a {
  background: url("http://placehold.it/200x200?text=a");
}
#img_div.b {
  background: url("http://placehold.it/200x200?text=b");
}
#img_div.c {
  background: url("http://placehold.it/200x200?text=c");
}
#img_div.d {
  background: url("http://placehold.it/200x200?text=d");
}
#img_div.e {
  background: url("http://placehold.it/200x200?text=e");
}
#links_div {
  float: left;
  height: 200px;
  width: 200px;
}
ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul li {
  display: block;
}
ul li a {}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div id="img_div"></div>
  <div id="links_div">
    <ul>
      <li><a href="javascript:void(0)" data-class="a">Show image 1</a>

      </li>
      <li><a href="javascript:void(0)" data-class="b">Show image 2</a>

      </li>
      <li><a href="javascript:void(0)" data-class="c">Show image 3</a>

      </li>
      <li><a href="javascript:void(0)" data-class="d">Show image 4</a>

      </li>
      <li><a href="javascript:void(0)" data-class="e">Show image 5</a>

      </li>
    </ul>
  </div>
</div>

关于javascript - css onmousehover 中的背景图像更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33524953/

相关文章:

javascript - 使用 jQuery 表单插件通过 Ajax 上传文件时不调用错误处理程序

JavaScript 18 岁以下出生日期

javascript - 提交的 jquery 例程没有被调用

javascript - 使图像在悬停时变成黑白

javascript - 将变量传递给 JSON

javascript - 如何不应用 bool 运算符,以及

javascript - 具有不确定属性的排序数组

jquery - 我可以使用相对于 silbling 的 child 的元素的 JQuery position() 吗?

jquery - Bootstrap carousel 在另一个 bootstrap carousel 里面

html - 搜索引擎 - 应用引擎