2013-04-23 3 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 * = концентрический]' – probablyup

ответ

3

Вы должны попробовать удалить (или закомментировать) любой console.log() ссылки в коде.

Без инструментов разработчика open IE будет бросать подгонку, поскольку консоль не существует. С инструментами разработчика открывайте консоль. Существуют, поэтому никаких ошибок не возникает. Я когда-то провел время, пытаясь отладить аналогичную проблему :)

+1

+1 You может использовать это: http://www.illyriad.co.uk/blog/index.php/2011/01/javascript-avoiding-console-is-undefined/ – probablyup

+0

Awesome. Спасибо вам обоим. Разве только IE вызывает ошибки или что другие браузеры подавляют их, потому что это логично? Просто любопытно все. –

+0

Я создаю небольшую обертку, которая проверяет наличие консоли, а если нет, она добавляет отладочные сообщения во внутреннюю очередь. Я всегда называю это просто для того, чтобы быть уверенным, что вам не нужно удалять код, и вы можете получать отладочные сообщения, даже если у пользователя нет инструментов разработчика, просто создав небольшую репортерскую среду или сообщив об этом телефон/электронная почта, как отправить отладочные сообщения :) – Nenotlep