您好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上面所说的,代码不起作用(事件被触发,代码运行但没有任何反应)