簡體   English   中英

如何讓jQuery每次懸停一次即可將鼠標懸停在圖像上

[英]How to get jQuery to recognize mouse over image once per hover

當鼠標懸停在圖片上時,我正在嘗試制作動畫。 我目前正在使用“ animate.css”來獲取動畫。 有兩個問題:

1)如何讓jQuery每次懸停一次“觸發”我的腳本? 例如,如果我創建一個警報,則警報將觸發幾次(將鼠標放在上方並取下鼠標)。

2)我當前的jQuery語法有什么問題? 動畫不播放。

的HTML

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="CSS/stylesheet_test.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="CSS/animate.css">
    <link href="https://fonts.googleapis.com/css?family=Work+Sans:500&amp;subset=latin-ext" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet">
    <script type="text/javascript" src="scripts/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="scripts/test.js"></script>
    <title>Daryl N.</title>
  </head>
  <body>
    <div class="container">
      <div class="navbar">
        <div class="nav-text"><span id="home"><a href="index_test.html">Home</a></span><span id="archive">Archive</span></div>
      </div>
      <div id="first" class="background">
        <div class="align-vert"><img id="me-pic" src="./images/me.jpg" alt="A picture of me is suppose to be here" style="width:240px;height:240px;" class="me-border animated bounceIn"><span class="daryl animated bounceIn">Hi, I'm Daryl</span></div>
      </div>
      <script type="text/javascript" src="scripts/test.js"></script>
      <div id="second" class="background">
        <p class="align-vert">This is my personal website</p>
      </div>
    </div>
  </body>
</html>

JS

$(document).ready(function()
{
  $('#me-pic').hover(function()
  {
    $(".bounceIn").toggleClass("bounce");
  });
});

我的CSS

body,html
{
  width: 100%;
  min-width: 200px;
  height: 100%;
  padding: 0;
  margin: 0;
}

.container
{
  width: 100%;
  min-width: 500px;
  height: 100%;
}

.background
{
  height: 100%;
  width: 100%;
  display: inline-block;
  position: relative;
  z-index: 1;
}

.align-vert
{
  text-align: center;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.me-border
{
  border-radius: 50%;
  border: 2px solid #FFF;
  vertical-align:middle
}

.navbar
{
  position: fixed;
  background-color: rgba(0, 0, 0, 0.9);
  margin: 0;
  padding: 0;
  width: 100%;
  height: 50px;
  z-index: 2;
}

.nav-text
{
  color: #a3a3a3;
  font-family: 'Raleway', sans-serif;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
  #home
  {
    margin-right: 50px;
  }

    #home:hover
    {
      color: #777777;
    }

    #home a:hover, a:visited, a:link, a:active
    {
      text-decoration: none;
      color: inherit;
    }

  #archive
  {
    margin-left: 50px;
  }

    #archive:hover
    {
      color: #777777;
    }


.daryl
{
  font-family: 'Work Sans', sans-serif;
  display: inline-block;
  padding-left: 20px;
  font-size: 30px;
  color: #FFF;
}
 #first
 {
   background: #2C2D45;
 }

#second
{
  background: #354677;
  font-size: 40px;
  font-family: 'Work Sans', sans-serif;
  color: white;
}

看到這里 animate.css

我的CSS文件會引起沖突嗎?

提前致謝!

在您的JS中,我改為使用mouseentermouseleave事件處理程序。 根據您的解釋,這應該很好用。 當鼠標進入div時,它將觸發一次,而當鼠標離開時,它將觸發一次。

 $(document).ready(function() { $('#me-pic').on('mouseenter', function() { $(".bounceIn").toggleClass("bounce"); }); $('#me-pic').on('mouseleave', function() { $(".bounceIn").toggleClass("bounce"); }); }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM