Javascript 我能';t使用Jquery只悬停一个元素

Javascript 我能';t使用Jquery只悬停一个元素,javascript,jquery,html,css,jquery-hover,Javascript,Jquery,Html,Css,Jquery Hover,正如我在标题中所说,我的问题是我不能只停留在一个元素上。我给了一些效果,但每个元素都会受到影响。我知道这是一个简单的问题,我搜索了谷歌和stackoverflow,我发现。但任何解决方案都是可行的 İn代码如下: 我也试过: $("section#box").mouseenter(function() { $('section#box span').css({'transition':'1s','top':'80px'}); }).mouselea

正如我在标题中所说,我的问题是我不能只停留在一个元素上。我给了一些效果,但每个元素都会受到影响。我知道这是一个简单的问题,我搜索了谷歌和stackoverflow,我发现。但任何解决方案都是可行的

İn代码如下:

我也试过:

  $("section#box").mouseenter(function() {
             $('section#box span').css({'transition':'1s','top':'80px'}); 
        }).mouseleave(function() {
              $('section#box span').css({'transition':'1s','top':'-80px'}); 
        });

感谢您的帮助。

使用jQuerys hover,它可以处理鼠标进入功能和鼠标离开功能:

$("section #box").hover(
  function() {
     $('section #box span').css({'transition':'1s','top':'80px'})} 
  ,function() {
     $('section #box span').css({'transition':'1s','top':'-80px'}); 
   }
);
此外,您还可以在悬停函数中使用$(this).find('span')将span指向聚焦的#框

  • 您有很多语法错误(函数后缺少逗号,额外的括号)
  • 您有很多不必要的代码(节选择器,此上下文之外)
  • 您需要包括一个具有该方法的库(例如jQuery),因为您没有将jQuery附加到您的小提琴上
  • 当div悬停时(例如mouseenter、mouseleave),调用in/out函数。在in/out中,确定它是enter还是leave事件,并将CSS应用于div中的目标范围

    这实际上是更好的解决方案,因为您将一个事件处理程序绑定到#框,而不是绑定到每个div或span。框悬停后,它检查目标(div)是否悬停,如果悬停,则调用函数


    在函数内部,效果的目标是跨度。这指向div,所以只需在this(div)上下文中找到span并应用CSS。

    我无法评论,所以我会在这里做。。。 我想你需要做的就是在这里展示:


    您应该将span添加到主选择器中,然后您的mouseenterr和mouseleave将被包装在该上下文中

    $("section #box span").mouseenter(function() {
                 $(this).css({'transition':'1s','top':'80px','text-size':'25px'}); 
            }).mouseleave(function() {
                  $(this).css({'transition':'1s','top':'-80px','text-size':'12px'}); 
            });
    

    你有一个地址问题

    这将悬停在div(整个图像)上,并且仅适用于跨度

    $("section#box div").hover(
       function() {
          $('span', this).css({'transition':'1s','top':'80px'})
       }, 
       function() {
        $('span', this).css({'transition':'1s','top':'-80px'}); 
       }
    );
    
    尽管坦率地说,这应该完全使用CSS转换:

    section#box div {
        position: relative;
    }
    
    section#box div span {
        top: -80px;
        transition: all 1s;
        position: absolute;
    }
    
    section#box div:hover span {
        top: 80px;
    }
    

    没有图像。可怜的例子没有必要。我只想发短信。首先谢谢你的帮助。但我知道如何在元素上悬停。我不能只停留在一个元素上。İ如果我这样使用,每个元素都会受到影响。然后这是悬停函数的一种特殊情况-使用$(this).find()以悬停的父元素内的一个元素为目标。这有两个问题,首先是-您没有纠正输入错误(第#部分)-它需要一个空格来分隔部分和id,第二个答案只会触发实际跨度上的悬停-如果它只是一个字形图标或其他小元素,那就糟了。谢谢你的帮助。但是我不能将文本悬停,当我将框悬停时,我想更改受影响的文本。要更改文本,您必须添加一些目标文本的CSS。很好-在我回答之前应该先考虑CSS-做得好:))谢谢,这很有效。但我不能很好地理解。“跨度,这个”和“截面#盒子跨度,这个”有什么区别。我是说这个$css({'transition':'1s','top':'80px'})它的作品。和$('section#box span',this).css({'transition':'1s','top':'80px'})。这不管用。有什么区别?再次感谢:).
    $('span',this)
    表示查找属于当前
    this
    上下文的所有span。在我们的例子中,它将是在
    #box
    下悬停的
    div
    $('#xbox div')。hover()
    一次只能有一个元素,该元素采用
    的上下文。如果没有
    this
    ,您就不知道哪个div是事件目标,而不进行进一步的事件处理。
    section#box div {
        position: relative;
    }
    
    section#box div span {
        top: -80px;
        transition: all 1s;
        position: absolute;
    }
    
    section#box div:hover span {
        top: 80px;
    }