我在这里搜索并搜索了几个小时,但还没有找到解决这个问题的方法......基本上,我有一个巨大的图标列表,一旦每个列表项悬停,它就会展开以显示项目的文本名称. 但是,在为宽度设置动画后,整个文档将被迫重排。
有没有办法解决?我已经尝试了所有我能想到的 jQuery 和 css 组合,但都无济于事。一旦悬停在基于 jQuery position() 的位置上,我尝试添加绝对定位(相对于父 UL)......但是,这并没有像我希望的那样工作。
我真的很希望能够悬停每个图标,让它展开以显示文本,而不是重排其余内容,只是像它处于固定位置一样,因此不与其余部分交互内容布局。
这是动画位:
$('.service-generator li').hover(function() {
var labelWidth = $(this).children('label').width() + 41;
$(this).animate({width: labelWidth + 'px'}, 180);
},
function() {
$(this).animate({width: '35px'}, 180);
});
另外,我想实际标记的视图可能会有所帮助,所以在这里:
<ul class="service-generator">
<li id="[service-name]" class="full-service-wrapper photo">
<label class="icon-name" for="[service-name]-checkbox">[service-name]</label>
<div class="icon-wrapper">
<input type="checkbox" checked="checked" name="[service-name]" id="[service-name]-checkbox"><img alt="[service-name]" title="[service-name]" src="[service-name].ico">
</div>
</li>
</ul>
这是显示结果的图像: