jQuery 这不选择单个元素

标签 jquery css

我有一些带有图标的链接:

<div class="icons">
< href="..."><img src='' /></a>
< href="..."><img src='' /></a>
...
</div>

我正在尝试使用 jQuery 使用以下代码为 IMGmargin-top css 属性设置动画:

$j = jQuery.noConflict();
$j("div.icons a").live({
mouseenter: 
function(){
    $j("img",this).animate({'margin-top': '-10px'}, 500);},
mouseleave:
function(){
    $j("img",this).animate({'margin-top': '-35px'}, 500);}
});

但它正在改变 DIV 中所有图像的 margin-top 属性,而不仅仅是悬停的图像。我做错了什么?

你可以看到它在这里工作: http://pasterzdrzew.pl/

最佳答案

问题是你在链接上使用了display: inline-block;,你应该使用display:block; float:left; 这应该可以解决问题(使用 Chrome 的开发者工具进行测试)。

内联 block 不完全是一个 block 元素,应该非常明智地使用它来防止像这样的边距表现得不像 block 元素的问题。

关于jQuery 这不选择单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935347/

相关文章:

javascript - jQuery 数据表排序问题

javascript - 超时后 jQuery 动画到底部功能

javascript - CSS3 在 FF 和 Chrome 中的过渡不一致

javascript - 下拉菜单不能在多个地方使用

html - 使 <td> 的宽度响应外部 <div> 的宽度

css - main_menu 变量在 drupal 主题 Zen 中始终为空

javascript - Html 地理定位在我的移动网络应用程序上不起作用 | Spring MVC

javascript - jQuery 表单提交事件根本不起作用

css - CSS 中属性值的对齐

javascript - 支持最低分辨率打开网站