2013-04-23 92 views
1

就我个人而言,我没有遇到这个问题(Windows 7与本机IE9),但另一台计算机是。可能是Windows 7,但绝对是IE9。最初,滚动按钮不能在他们的机器上工作。如果他们将文档和浏览器渲染器更改为IE8或IE7,如果工作正常的话。如果他们将其更改回IE9,则可以使用。如果他们关闭标签并重新打开它,它不会再工作。他们的控制台日志是空的,除了在所有浏览器中出现的,并且我认为是良性的jQuery 1.4中的深层语法错误之外。IE9简单的点击/滚动问题

所以我的问题是,任何人都可以复制这个问题或找到任何理由,为什么发生这种情况?代码和链接如下:

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

要解决“深”的错误,只需在选择器中删除'@':'[@ href * = concentric]' – probablyup 2013-04-23 19:59:32

回答

3

你应该尝试删除(或注释掉)任何的console.log()在你的代码引用。

没有开发工具打开IE浏览器将会抛出一个合适的控制台不存在。随着开发人员工具打开控制台存在,所以没有错误抛出。我曾花了一段时间试图调试类似的问题:)

+1

+1你可以使用这个:http://www.illyriad.co.uk/blog/index.php/2011/01/javascript-avoiding-console-is-undefined/ – probablyup 2013-04-23 20:01:52

+0

太棒了。感谢你们俩。是只有IE导致错误或其他浏览器压制他们,因为这是合乎逻辑的事情吗?只是好奇而已。 – 2013-04-30 22:48:19

+0

我构建了一个小封装器,用于检查控制台是否存在,如果不存在,它会将调试消息添加到内部队列中。我总是这么称呼,这样你就不必删除代码,即使用户没有开发开发工具,也可以获得调试消息,只需构建一个小型环境记者事件或告诉他们电话/电子邮件如何发送调试消息:) – Nenotlep 2013-05-21 11:58:35