javascript - 在缩略图悬停时显示图像下拉列表,悬停时隐藏它

标签 javascript jquery html css

我有一个图像缩略图,我希望它显示一个隐藏的 div,其中包含相同的图像,但更大,下面有一些描述。只要鼠标悬停在缩略图上,只要鼠标悬停在这个 div 上,它就应该显示隐藏的 div。但出于某种原因,它确实存在故障:图像有时会卡住或无法打开。 这是代码:

$(document).ready(function() {
  $(".dropdown").hover(function() {
    $(this).children(".dropdown-content").delay(800).show(0);
  }, function() {
    $(this).children(".dropdown-content").hide();
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <style>
    .dropdown {
      position: relative;
      display: inline-block;
    }
    
    .dropdown-content {
      display: none;
      position: absolute;
      background-color: #f9f9f9;
      min-width: 160px;
      box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
      z-index: 1;
    }
    
    .desc {
      padding: 15px;
      text-align: center;
    }
  </style>
</head>

<body>

  <h2>Dropdown Image</h2>

  <div class="dropdown">
    <img src="image.png" width="100" height="50">
    <div class="dropdown-content">
      <img src="image.png" width="300" height="200">
      <div class="desc">Description</div>
    </div>
  </div>

最佳答案

只需在元素上执行操作之前添加 .stop() 即可。

$(document).ready(function() {
  $(".dropdown").hover(function() {
    $(this).children(".dropdown-content").stop().delay(800).show(0);
  }, function() {
    $(this).children(".dropdown-content").stop().hide();
  });
});

它是如何工作的:当你弄乱它时,它会记录你触发了多少次,然后将其设置为动画那么多次......或者类似的东西..那么 .stop() 做的是确保当你弄乱它时,它首先停止所有以前的动画并做一个新的..所以如果你愿意的话,它会删除​​它的内存。

关于javascript - 在缩略图悬停时显示图像下拉列表,悬停时隐藏它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49540495/

相关文章:

jQuery 验证数据属性中的自定义规则

jquery - 使用按钮更改 div 中的内容

C#,Html Agility,选择 div 标签中的每个段落

Javascript 显示/隐藏,在页面加载时显示第一个 div

javascript - <Helmet> ReactJs 无法在函数下工作导致错误

javascript - 插入填充以补偿 "scrollbar jump"

javascript - JQuery 伪选择器 :visible is working at one place but not at other place

javascript - 使用 jquery 在按钮单击上移动 div 时设置增加边距的最大值

javascript - 在javascript中获取ng-reapeat的$index(代码隐藏)

html - 如何在 bootstrap 中写一个包含表格的段落?