JQuery Animate + ScrollLeft不适用于IE

时间:2014-09-21 22:59:15

标签: javascript jquery html css internet-explorer

您好stackoverflow社区,

代码:

HTML:

              <div class="panel">
                <span class="expand-icon">Expand</span>
                <div class="panel__content">
                  <img src="images/...">
                </div>
                <aside class="panel-widget">
                  <div class="panel-widget__content">
                    <span class="close-icon"></span>
                    <div class="content__hero">
                      <img src="images/...">
                    </div>
                  </div>
                </aside><!-- /widget -->
              </div><!-- /panel -->

绑定事件:

    this.container.on('collapsePanel', function (event) {
     obj._collapsePanel();
      event.preventDefault();
    });

    this.container.on('expandPanel', function (event) {
      obj._expandPanel();
      event.preventDefault();
    });

    this.expandButton.on('click', function (event) {
      $(this).trigger('expandPanel');
      event.preventDefault();
    });

    this.collapseButton.on('click', function (event) {
      $(this).trigger('collapsePanel');
      event.preventDefault();
    });

事件:

  _restoreSiteContent : function _restoreSiteContent() {
    $('html, body').stop().animate({
      'scrollLeft': 0
    }, 218, 'swing', $.noop());
  },

  _pushSiteContent : function _pushSiteContent() {
    var obj;

    obj = this;

    $('html, body').stop().animate({
      'scrollLeft': obj.widget.innerWidth + obj.gutter
    }, 218, 'swing', $.noop());
  },

预期:

点击我的<span>元素(它不是锚点中的包装器),整个页面内容应移到左侧,并出现一种“弹出”(实际上它始终存在,但位置绝对,所以开头的滚动条不允许用户滚动到该点),一旦屏幕移动,用户应该能够向任何方向滚动(也许,导航页面内容)。

我希望支持IE9 +

问题:

该代码在移动和桌面(Safari,FF和Chrome)上运行良好,但不适用于IE(9,10或11)

作为参考:

我在网上看过 LOT 这个案例,而且在stackoverflow上,我已经尝试了以下帖子(仅作为参考,表明我尝试进行研究在结束之前提出问题):

还有很多人......但我无法弄清楚我的情况会发生什么。

我也试图通过以下方式实现目标:

$(document).scrollLeft(offset);

window.scrollTo(offset);

代码前的

event.preventDefault();

到目前为止我设置为IE后备版我正在移动页面内容:

translate3d(0, offset, 0)

但这不是我想要的,因为它没有显示滚动条(这是一个要求)。

最后,请记住,我测试是否正在调用事件并且它们确实如此,但正如我在IE上面所说的,代码不起作用(事件被触发,代码运行但没有任何反应)

0 个答案:

没有答案