就个人而言,我没有遇到这个问题(Windows 7使用原生IE9),但另一台计算机是。可能是Windows 7但肯定是IE9。最初,滚动按钮在其计算机上不起作用。如果他们将文档和浏览器渲染器更改为IE8或IE7,则工作正常。如果他们将它改回IE9,它就可以了。如果它们从标签中关闭并重新打开它,它将无法再次运行。他们的控制台日志是空的,除了jQuery 1.4中的语法错误,它出现在所有浏览器中并且我认为是良性的。
所以我的问题是,任何人都可以复制这个问题,或者可以找到发生这种情况的原因吗?代码和链接:
http://www.friedmanllp.com/home2.php
<div style="float:left; padding:0; width:20px !important; height:310px !important; text-align:left;">
<div id="scroll_up" style="cursor:pointer;"><img style="margin:10px 0 270px 0;" src="images/arrow_up.png" /></div>
<div id="scroll_down" style="cursor:pointer;"><img src="images/arrow_down.png" /></div>
</div>
$(function() {
var ele = $('#scroller');
var speed = 25, scroll = 5, scrolling;
$('#scroll_up').click(function() {
//console.log("Up");
// Scroll the element up
var topPos = $('#scroller').scrollTop();
console.log(topPos);
$("#scroller").animate({
scrollTop: topPos - 200
}, 800);
});
$('#scroll_down').click(function() {
//console.log("Down");
// Scroll the element down
var topPos = $('#scroller').scrollTop();
console.log(topPos);
$("#scroller").animate({
scrollTop: topPos + 200
}, 800);
});
$('#scroll_up, #scroll_down').bind({
click: function(e) {
// Prevent the default click action
e.preventDefault();
},
mouseleave: function() {
if (scrolling) {
window.clearInterval(scrolling);
scrolling = false;
}
}
});
});
答案 0 :(得分:3)
您应该尝试删除(或注释掉)代码中的任何console.log()引用。
如果没有开发人员工具,IE将会因为控制台不存在而失败。使用开发人员工具打开控制台,DOES存在,因此不会抛出任何错误。我曾经花了很长时间试图调试类似的问题:)