就我个人而言,我没有遇到这个问题(Windows 7与本机IE9),但另一台电脑是。 可能是Windows 7,但绝对是IE9。 最初,滚动button不能在他们的机器上工作。 如果他们将文档和浏览器渲染器更改为IE8或IE7,如果工作正常的话。 如果他们改回IE9,它的作品。 如果他们closures标签并重新打开它,它不会再工作。 他们的控制台日志是空的,除了在所有浏览器中出现的jQuery 1.4中的深层语法错误,我认为这是良性的。
所以我的问题是,任何人都可以复制这个问题,或find任何理由,为什么发生这种情况? 代码和链接如下:
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; } } }); });
您应该尝试删除(或注释掉)代码中的任何console.log()引用。
没有开发人员的工具,打开IE浏览器将不适合,因为控制台不存在。 用开发工具打开控制台是否存在,所以不会引发错误。 我曾经花了很长时间试图调试类似的问题:)