javascript - 是否有一个 jQuery 函数可以查找元素的悬停计数?

标签 javascript jquery animation hover jquery-hover

我有一个 id="logo" 的图像。如果有人将鼠标悬停在图像元素上,我会隐藏图像并同时显示句子。一旦有人做了鼠标离开,图像就会回到原来的位置,句子就会消失。

我想要实现的目标: 另外,我在三个单独的 span 中包含三个句子。如果有人第一次将鼠标悬停在图像上,那么我想显示第一句话,如果有人第二次将鼠标悬停在图像上,那么我想显示第二句话,如果第三次悬停,则显示第三句话。我的代码仓库是 here最清楚,我想实现this logo hover animation

$(document).ready(function(){

   
    var logo_img = $(".logo_container img");

    
        $(logo_img).hover(function() {
            $(logo_img).css("display", "none")
            $(".logo_container span.first").css("display", "block")
        },
        
        function(){
            $(logo_img).css("display", "block")
            $(".logo_container span.first").css("display", "none")
        });
    

});
body{padding: 0 20px; font-family: "Gotham A", "Gotham B", sans-serif;}

.logo_container a{text-decoration: none; color: #2F2F2F;}

.logo_container img, .logo_container span{display: inline-block;}

.logo_container img{
    max-width: 50px;
    height: auto;
}

.logo_container .slogan{font-size: 1.5rem; position: relative; top: 10px;}

.logo_container span.slogan{display: none;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header id="main-header">
        <div class="container">
            <div class="logo_container">
            
                <a href="index.html">
                    <img src="https://raw.githubusercontent.com/shihab0915/logo_animation/master/img/logo.png" id="logo" >
                    <span class="slogan first">first sentence</span>
                    <span class="slogan second">second sentence</span> 
                    <span class="slogan third">third sentence</span>                             
                </a>            
                
            </div>
        </div>
    </header>

最佳答案

一种解决方案是在悬停时仅显示第一个 .slogan(使用 CSS),并让 JS 在 mouseleave 上切换 .slogan 的顺序。

EG:

$(function() {
  $(".logo_container").on("mouseleave", function() {
    $("#slogans .slogan:first").appendTo($("#slogans"));
  });
});
body {
  padding: 0 20px;
  font-family: "Gotham A", "Gotham B", sans-serif;
}

.logo_container a {
  text-decoration: none;
  color: #2F2F2F;
}

.logo_container img,
.logo_container span {
  display: inline-block;
}

.logo_container img {
  max-width: 50px;
  height: auto;
}

.logo_container .slogan {
  font-size: 1.5rem;
  position: relative;
  margin: 12px 0;
}

.logo_container:hover #logo {
  display: none;
}

.logo_container span.slogan {
  display: none;
}

.logo_container:hover span.slogan:first-of-type {
  display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header id="main-header">
  <div class="container">
    <div class="logo_container">
      <a href="index.html">
        <img src="https://raw.githubusercontent.com/shihab0915/logo_animation/master/img/logo.png" id="logo" />
        <span id="slogans">
          <span class="slogan">first sentence</span>
          <span class="slogan">second sentence</span>
          <span class="slogan">third sentence</span>
        </span>
      </a>
    </div>
  </div>
</header>

关于javascript - 是否有一个 jQuery 函数可以查找元素的悬停计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59686392/

相关文章:

javascript - onClick 触发最后一个项目函数

javascript - 如果 JS 函数包含在 HTML 中,我如何在浏览器控制台中显示所有 JS 函数?

matlab - 如何在matlab中制作动画情节

javascript - 隐藏文本动画无法正常工作

ios - 同时对两个 UIView 进行动画处理(粘在一起)

javascript - 无法更改文本区域内关键字的颜色

javascript - 如何获取名称的首字母并将其用作商店的简介

javascript - 返回多个嵌套函数的函数

javascript - 如何在列内随机创建网格和放置元素?

javascript - 使用 jQuery 追加添加动态内容,然后访问它不起作用