繁体   English   中英

鼠标悬停效果仅

[英]Mouseover effect only on <i> in <a>

这是我的HTML:

<div id="cart">
 <a>
  <span></span>
  <i></i>
 </а>
</div>

当鼠标悬停在<a>标记上时,我会有鼠标悬停的效果。 但是我只想在<i>标记上具有鼠标悬停效果

这是我的Javascript,它添加了“活动”类:

$('#cart > .heading a').die('mouseleave').die('mouseover').die('mouseleave').die('click');
$('#cart').die('mouseleave').die('mouseover').die('mouseleave').die('click');
$('#cart').live('mouseover', function () {
    if (!$("#cart").hasClass('active')) {
        if (!Journal.isOC2) {
            $('#cart').load('index.php?route=module/cart #cart > *');
        }
        $('#cart').addClass('active');
        $('#cart').live('mouseleave', function () {
            $(this).removeClass('active');
        });
    }
});

然后我更换#cart#cart ai无处不在

没有任何成功。

我只是删除了Journal.isOC2部分及其工作

 $('#cart ai > .heading a').die('mouseleave').die('mouseover').die('mouseleave').die('click'); $('#cart a i').die('mouseleave').die('mouseover').die('mouseleave').die('click'); $('#cart a i').live('mouseover', function () { if (!$("#cart ai").hasClass('active')) { $('#cart a i').addClass('active'); $('#cart a i').live('mouseleave', function () { $(this).removeClass('active'); }); } }); 
 .active{ color:red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <div id="cart"> Div <a> Anchor <span>Span</span> <i>Italic</i> </а> </div> 

或者您也可以使用最新版本的jquery这样做

 $("#cart ai").on("mouseover", function(){ $(this).addClass("active"); }); $("#cart ai").on("mouseleave", function(){ $(this).removeClass("active"); }); 
 .active{ color:red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="cart"> Div <a> Anchor <span>Span</span> <i>Italic</i> </а> </div> 

您可以使用div标签css或c标签来使用css

您可以在下面的示例中看到鼠标悬停效果

 .mainDiv i:hover{ color:red; cursor:pointer; } 
 <div class="mainDiv" id="cart">main div <a> A tag <span>Span tag</span> <i>here is I Tag try to hover me</i> </а> </div> 

首先,您的HTML编写不正确。 <a>标记需要href=""属性,以便与旧版浏览器兼容。

您的JavaScript看起来也需要一些简单性。

$('#code a i').hover(
  function() {
   // ran when onmouseover
  },
  function() {
   // ran when onmouseleave
  }
);

现在,在您上面看到的函数中实现自己的代码。

这是我的ruff逻辑试试这个:

$( "a" )
  .mouseover(function() {
    $( this ).find( "i" ).addClass('active');
  })
  .mouseout(function() {
    $( this ).find( "i" ).removeClass('active');
  });

您还可以使用最新的jQuery(2.1.1)将代码简化为以下代码。

 $(function () { $('#cart i').on('mouseover mouseleave', function (e) { if (e.type == "mouseover") { //if (!Journal.isOC2) $('#cart').load('index.php?route=module/cart #cart > *'); } $(this).toggleClass('active'); }) }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <style type="text/css"> .active { color: red; } </style> <div id="cart"> <a> <span></span> <i style="border:1px solid black;">here</i> </а> </div> 

 $(document).ready(function(){ $("i").hover(function(){ $(this).addClass('red') $(this).mouseleave(function(){ $(this).removeClass('red') }) }) }) 
 .red{ color : red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="cart"> <a>this is <span>span</span> <i>italic</i> </а> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM