overflow-y:滚动导致JQuery出现问题

时间:2015-03-03 01:00:41

标签: javascript jquery html css

当我添加overflow-y时:滚动到.nav样式按钮打开导航需要2次点击。将此更改为overflow:none,并且在使用以下jquery时只需要单击一次:

$(function(){
  var nav = $('.nav'),
  navBut = $('.navBut');

  navBut.click(function(){
  if(nav.width() === 0){
    nav.stop().animate({ width: '15%', opacity: '1.0' }, 300);
  } else {
    nav.stop().animate({ width: '0', opacity: '0.0' }, 300);
  }
});

有人能看出为什么会出现这种情况或我如何解决这个问题?

http://jsfiddle.net/9ubxyw0t/2/

1 个答案:

答案 0 :(得分:1)

您需要检查它是否小于或等于width,而不是检查.nav的{​​{1}}是否等于0

您的原始问题似乎只影响某些浏览器。当0属性设置为overflow时,似乎某些浏览器会给元素一个负宽度。我想这只是一个跨浏览器渲染的不一致。

Updated Example

scroll