Javascript jQuery动画宽度项溢出
我创建了一种滑块,当你将它悬停时,它会创建一个更大的项目 我已经创建了一堆精简的代码来说明我的问题所在。在小提琴中,绿色项目有时会溢出到下一行,使其在短时间内消失。有没有办法解决这个问题,同时保持动画同步 看 jQuery非常简单,如下所示:Javascript jQuery动画宽度项溢出,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我创建了一种滑块,当你将它悬停时,它会创建一个更大的项目 我已经创建了一堆精简的代码来说明我的问题所在。在小提琴中,绿色项目有时会溢出到下一行,使其在短时间内消失。有没有办法解决这个问题,同时保持动画同步 看 jQuery非常简单,如下所示: jQuery('.item', '.row').hover(function(){ curItem = jQuery(this); jQuery('.item', '.row').stop().not(curItem).animate({
jQuery('.item', '.row').hover(function(){
curItem = jQuery(this);
jQuery('.item', '.row').stop().not(curItem).animate({
width: '20%'
},200);
curItem.stop().animate({
width: '40%'
},200);
});
使用以下相关css:
.row {
width: 100%;
height: 100px;
overflow: hidden;
}
.item {
width: 25%;
height: 100px;
float: left;
}
编辑:使用公认的答案,我偶然发现了一个额外的问题。实际代码中的div在每个div后面都有一个空格。我找到了解决这个问题的方法。(字体大小:0;修复)试试这个
jQuery('.item', '.row').hover(function(){
curItem = jQuery(this);
jQuery('.item', '.row').stop().not(curItem).animate({
width: '19.90%'
},200);
curItem.animate({
width: '40%'
},200);
});
试试这个
jQuery('.item', '.row').hover(function(){
curItem = jQuery(this);
jQuery('.item', '.row').stop().not(curItem).animate({
width: '19.90%'
},200);
curItem.animate({
width: '40%'
},200);
});
试试这个
jQuery('.item', '.row').hover(function(){
curItem = jQuery(this);
jQuery('.item', '.row').stop().not(curItem).animate({
width: '19.90%'
},200);
curItem.animate({
width: '40%'
},200);
});
试试这个
jQuery('.item', '.row').hover(function(){
curItem = jQuery(this);
jQuery('.item', '.row').stop().not(curItem).animate({
width: '19.90%'
},200);
curItem.animate({
width: '40%'
},200);
});
检查。您可以使用一些css技巧,但我建议使用flexbox或css转换
.row {
width: 100%;
height: 100px;
overflow: hidden;
white-space:nowrap;
font-size:0;
}
.item {
width: 25%;
height: 100px;
display:inline-block;
}
检查。您可以使用一些css技巧,但我建议使用flexbox或css转换
.row {
width: 100%;
height: 100px;
overflow: hidden;
white-space:nowrap;
font-size:0;
}
.item {
width: 25%;
height: 100px;
display:inline-block;
}
检查。您可以使用一些css技巧,但我建议使用flexbox或css转换
.row {
width: 100%;
height: 100px;
overflow: hidden;
white-space:nowrap;
font-size:0;
}
.item {
width: 25%;
height: 100px;
display:inline-block;
}
检查。您可以使用一些css技巧,但我建议使用flexbox或css转换
.row {
width: 100%;
height: 100px;
overflow: hidden;
white-space:nowrap;
font-size:0;
}
.item {
width: 25%;
height: 100px;
display:inline-block;
}
我已经试过了。但它并不能完全解决问题,因为它有时仍会闪烁(但频率要低得多)。但这种方法的主要问题是,它与其他全宽图形之间的差距不太大。。更改CurItem的宽度。设置动画??达到39%?就像我说的,这种方法的主要问题是它在最后留下了一个不太漂亮的空白,通常是一个很好的整页图形。1000px的1%是一个可见的10px间隔,由于平均屏幕分辨率高于此,这意味着每个人都会看到一个更大的间隔。看看AndreiRosca的答案,它看起来很干净,我已经试过了。但它并不能完全解决问题,因为它有时仍会闪烁(但频率要低得多)。但这种方法的主要问题是,它与其他全宽图形之间的差距不太大。。更改CurItem的宽度。设置动画??达到39%?就像我说的,这种方法的主要问题是它在最后留下了一个不太漂亮的空白,通常是一个很好的整页图形。1000px的1%是一个可见的10px间隔,由于平均屏幕分辨率高于此,这意味着每个人都会看到一个更大的间隔。看看AndreiRosca的答案,它看起来很干净,我已经试过了。但它并不能完全解决问题,因为它有时仍会闪烁(但频率要低得多)。但这种方法的主要问题是,它与其他全宽图形之间的差距不太大。。更改CurItem的宽度。设置动画??达到39%?就像我说的,这种方法的主要问题是它在最后留下了一个不太漂亮的空白,通常是一个很好的整页图形。1000px的1%是一个可见的10px间隔,由于平均屏幕分辨率高于此,这意味着每个人都会看到一个更大的间隔。看看AndreiRosca的答案,它看起来很干净,我已经试过了。但它并不能完全解决问题,因为它有时仍会闪烁(但频率要低得多)。但这种方法的主要问题是,它与其他全宽图形之间的差距不太大。。更改CurItem的宽度。设置动画??达到39%?就像我说的,这种方法的主要问题是它在最后留下了一个不太漂亮的空白,通常是一个很好的整页图形。1000px的1%是一个可见的10px差距,由于平均屏幕分辨率高于此,这意味着每个人都会看到一个更大的差距。看看AndreiRosca的答案,在这种情况下,跨浏览器兼容性看起来很干净。我推测显示:内联块在IE8中不起作用。事实证明确实如此,这是一个很好的解决方案。谢谢。在这种情况下,跨浏览器兼容性是很重要的。我推测显示:内联块在IE8中不起作用。事实证明确实如此,这是一个很好的解决方案。谢谢。在这种情况下,跨浏览器兼容性是很重要的。我推测显示:内联块在IE8中不起作用。事实证明确实如此,这是一个很好的解决方案。谢谢。在这种情况下,跨浏览器兼容性是很重要的。我推测显示:内联块在IE8中不起作用。事实证明确实如此,这是一个很好的解决方案。非常感谢。