Jquery IE9简单单击/滚动问题
就我个人而言,我没有遇到这个问题(Windows7与本机IE9),但另一台计算机是。可能是Windows7,但肯定是IE9。最初,滚动按钮在其机器上不工作。如果他们将文档和浏览器渲染器更改为IE8或IE7,则可以正常工作。如果他们把它改回IE9,它就会工作。如果他们关闭了选项卡,并重新打开它,它将不再工作。他们的控制台日志是空的,除了jQuery1.4中的一个语法错误,它出现在所有浏览器中,我认为是良性的 所以我的问题是,谁能复制这个问题,或者找到发生这种情况的原因?代码和链接如下:Jquery IE9简单单击/滚动问题,jquery,windows,internet-explorer,internet-explorer-9,Jquery,Windows,Internet Explorer,Internet Explorer 9,就我个人而言,我没有遇到这个问题(Windows7与本机IE9),但另一台计算机是。可能是Windows7,但肯定是IE9。最初,滚动按钮在其机器上不工作。如果他们将文档和浏览器渲染器更改为IE8或IE7,则可以正常工作。如果他们把它改回IE9,它就会工作。如果他们关闭了选项卡,并重新打开它,它将不再工作。他们的控制台日志是空的,除了jQuery1.4中的一个语法错误,它出现在所有浏览器中,我认为是良性的 所以我的问题是,谁能复制这个问题,或者找到发生这种情况的原因?代码和链接如下: $(函
$(函数(){
var ele=$(“#滚动条”);
变量速度=25,滚动=5,滚动;
$(“#向上滚动”)。单击(函数(){
//控制台。登录(“Up”);
//向上滚动元素
var topPos=$('#scroller').scrollTop();
控制台日志(topPos);
$(“#滚动条”)。设置动画({
scrollTop:topPos-200
}, 800);
});
$(“#向下滚动”)。单击(函数(){
//控制台。登录(“关闭”);
//向下滚动元素
var topPos=$('#scroller').scrollTop();
控制台日志(topPos);
$(“#滚动条”)。设置动画({
scrollTop:topPos+200
}, 800);
});
$(“#向上滚动,#向下滚动”).bind({
点击:功能(e){
//阻止默认的单击操作
e、 预防默认值();
},
mouseleave:function(){
如果(滚动){
清除间隔(滚动);
滚动=假;
}
}
});
});
您应该尝试删除(或注释掉)代码中的任何console.log()引用
如果没有开发工具,开放式IE将抛出一个合适的控制台不存在。在开发人员工具打开时,控制台确实存在,因此不会抛出错误。我曾经花了很长时间试图调试一个类似的问题:)要解决这个“深”错误,只需去掉选择器中的
@
:[@href*=concentral]
+1您可以使用这个:真棒。谢谢你们两位。是因为只有IE会导致错误,还是其他浏览器会因为这是合乎逻辑的事情而抑制它们?只是好奇而已。我构建了一个小包装器来检查控制台是否存在,如果不存在,它会将调试消息添加到一个内部队列中。我总是这样说只是为了确保,这样你就不必删除代码,即使用户没有打开开发工具,你也可以得到调试消息,只需构建一个小的environment reporter,或者在电话/电子邮件上告诉他们如何发送调试消息:)
<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;
}
}
});
});