javascript - 为什么 "doScroll"在 IE8 中不起作用?

标签 javascript internet-explorer-8 dhtml

微软在 IE8 中仍然支持“doScroll”吗?我根本无法让它工作。

这是一个测试页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
  <body>
    <div id="a" style="overflow:auto; width:300px; height:300px; border:1px solid black;">
      <div style="width:200px; height:500px; background:blue;">
      </div>
    </div>
    <button onclick="document.getElementById('a').doScroll('scrollbarDown')">Down</button>
    <button onclick="document.getElementById('a').doScroll('scrollbarUp')">Up</button>
  </body>
</html>

“向下”和“向上”按钮在 IE6 和 IE7 以及 IE8 的“兼容性 View ”中工作正常。但它们在 IE8 标准 View 中不起作用。 (DOCTYPE 是必需的。)

有什么想法吗?

最佳答案

我不知道 doScroll() 方法是否存在,但在跨浏览器获取 clientHeight 和scrollHeight 值时应该是安全的。我将您的 js 放入几个函数中,以使其更易于使用。

<script type="text/javascript">
    function scrollDown(){
        var myDiv = document.getElementById('a');
        myDiv.scrollTop = myDiv.scrollHeight - myDiv.clientHeight;
    }
    function scrollUp(){
        var myDiv = document.getElementById('a');
        myDiv.scrollTop =  myDiv.clientHeight - myDiv.scrollHeight;
    }
</script>
<div id="a" style="overflow:auto; width:300px; height:300px; border:1px solid black;">
  <div style="width:200px; height:500px; background:blue;">
  </div>
</div>
<button onclick="scrollDown()">Down</button>
<button onclick="scrollUp()">Up</button>

关于javascript - 为什么 "doScroll"在 IE8 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758613/

相关文章:

javascript - 如何以 Angular 选择按钮

javascript - ie8 onresize 事件,触发两次

javascript - IE8 querySelector null 与普通 null

javascript - Hammer.js jQUery 插件在 IE7/8 中不起作用

javascript - 使用 jQuery 获取测验中使用的最后一个值

javascript - Div 使用 JavaScript 循环移动

.net - 用于在页面内创建 div 样式窗口的 JavaScript 库

javascript - future 时间的接载预估 Uber API

javascript - 从实例中获取 TypeScript 枚举名称

javascript - 循环图像标题不起作用