javascript 窗口宽高滚动
//不加window IE不支持
console.info(window.screenLeft);//IE支持火狐不支持 console.info(window.screenX);//火狐支持,IE不支持 //窗口
var leftX = typeof window.screenLeft=='number'?window.screenLeft:window.screenX; var topY = typeof window.screenTop=='number'?window.screenTop:window.screenY; window.innerWidth //窗口页面大小 ie不支持 谷歌中相等 window.outerWidth //窗口页面大小 +边框 document.documentElement.clientWidth;//所有浏览器都支持 console.info(document.getElementById("bottom").clientWidth);//可视区宽度,不计算外边框,外边距,计算内边距,滚动条会减少宽度,在没有内边距和滚动条的情况下不设置宽度,IE会默认为0 document.getElementById("bottom").scrollHeight; //IE指有效高度 document.getElementById("bottom").offsetWidth; //实际大写,浏览器都兼容//增加滚动条和外边距不计算,增加内边距会计算 document.getElementById("bottom").getBoundingClientRect().top; //浏览器都支持IE默认2,2
<button id="toBottom">滚动到底部</button>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<p>111111111111111111111111111111111111111</p>
<div id="bottom">
你好谁大法师打发斯蒂芬
</div> <button id="toTop">滚动到顶部</button>
//使指定区域可见
window.onload = function(){
document.getElementById("toBottom").addEventListener("click",function(){ document.getElementById("bottom").scrollIntoView(); },false); document.getElementById("toTop").addEventListener("click",function(){
document.getElementById("toBottom").scrollIntoView(); },false); }
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8>
<title>SCROLL</title>
<style type="text/css">
</style>
<script type="text/javascript">
var goToWhere = function (where)
{
var me = this;
me.site = [];
me.sleep = me.sleep ? me.sleep : 16;
me.fx = me.fx ? me.fx : 6;
clearInterval (me.interval);
var dh = document.documentElement.scrollHeight || document.body.scrollHeight;
var height = !!where ? dh : 0;
me.interval = setInterval (function ()
{
var top = document.documentElement.scrollTop || document.body.scrollTop;
var speed = (height - top) / me.fx;
if (speed === me.site[0])
{
window.scrollTo (0, height);
clearInterval (me.interval);
}
window.scrollBy (0, speed);
me.site.unshift (speed);
}, me.sleep);
};
</script>
</head>
<body>
<div style="height: 1000px; text-align: center; font-size: 200px; font-weight: bold;">5</div>
<div style="height: 1000px; text-align: center; font-size: 200px; font-weight: bold;">4</div>
<div style="height: 1000px; text-align: center; font-size: 200px; font-weight: bold;">3</div>
<div style="height: 1000px; text-align: center; font-size: 200px; font-weight: bold;">2</div>
<div style="height: 1000px; text-align: center; font-size: 200px; font-weight: bold;">1</div>
<div style="height: 1000px; text-align: center; font-size: 200px; font-weight: bold;">0</div>
<div onclick="goToWhere(0)"
style="border: 1px solid red; height: 100px; width: 15px; position: fixed; cursor: pointer; right: 10px; bottom: 150px;">返回顶部</div>
<div onclick="goToWhere(1)"
style="border: 1px solid red; height: 100px; width: 15px; position: fixed; cursor: pointer; right: 10px; bottom: 30px;">返回底部</div>
</body>
</html>
$('html, body').animate({scrollTop: $("#"+id).offset().top-20}, 200);
javascript 窗口宽高滚动的更多相关文章
- React组件自适应窗口宽高
很多时候我们需要组件能够根据窗口变化改变宽高,有时候可以使用css,有时候需要随数据调整则使用js计算. 比如说,当我们在页面中放置一个iframe时,我们希望它的宽高随着其父元素or窗口的变化而变化 ...
- iframe跨域动态设置主窗口宽高
Q:在A项目的a页面嵌入一个iframe,src是B项目的b页面,怎样让a页面的高度跟b页面的高度一样? A:解决跨域方案:增加一个A项目的c页面. 操作步骤: 一,a页面的iframe设置: 获取到 ...
- javascript 获取当前浏览器窗口宽高
获取当前浏览器窗口宽度:document.documentElement.clientWidth;获取当前浏览器窗口高度:document.documentElement.clientHeight; ...
- 原生js和jquey获取窗口宽高,滚动条,鼠标位置总结
JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度 alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height( ...
- Javascript:各种宽高
Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...
- JavaScript固定宽高
固定高宽: <script type="text/javascript"> if (/Android (\d+\.\d+)/.test(navigat ...
- C# 控制台程序(命令行程序)设置字体颜色,窗口宽高,光标行数
控制台程序(命令行程序)设置窗口宽度高度,如下代码: Console.WriteLine(Console.WindowHeight); Console.WriteLine(Console.Buffer ...
- JQ 获取浏览器窗口宽高
$(window).height(); // 浏览器时下窗口可视区域高度 $(document).height(); //浏览器时下窗口文档的高度 $(document.body).height(); ...
- javascript各种宽高
参考: http://www.w3cschool.cc/jsref/dom-obj-all.html http://www.cnblogs.com/wen12128/archive/2012/05/2 ...
随机推荐
- TensorFlow+Keras 03 TensorFlow 与 Keras 介绍
1 TensorFlow 架构图 1.1 处理器 TensorFlow 可以在CPU.GPU.TPU中执行 1.2 平台 TensorFlow 具备跨平台能力,Windows .Linux.Andro ...
- 远程调试Android手机上网页的记录
1.手机需要开启USB调试模式: 2.电脑和手机上都要安装最新的Chrome浏览器: 3.手机连接电脑,会出现下载安装驱动的提示并安装成功(并不是所有的手机都会这么顺利,比如我的魅族就无法安装驱动,公 ...
- LZW算法PHP实现方法 lzw_decompress php
LZW算法PHP实现方法 lzw_decompress php 博客分类: Php / Pear / Mysql / Node.js LZW算法简介 字符串和编码的对应关系是在压缩过程中动态生成的 ...
- Elasticsearch 性能监控基础【转】
https://blog.csdn.net/yangwenbo214/article/details/74000458
- css3 animation 在某些浏览器中特别快 bugfix
今天在一款三星 4.2.2 的 webview 里,出现 animation 特别快的问题,把: .xxx{ -webkit-animation: xxx 24s linear infinite; } ...
- [Z] 从Uncaught SyntaxError: Unexpected token ")" 问题看javascript:void的作用
https://blog.csdn.net/hongweigg/article/details/78094338 问题 在前端编程中,突然出现Uncaught SyntaxError: Unex ...
- C#作为客户端调用gsoap生成的C++服务端
近日在学习C++,偶然遇到网友想用C#调用gsoap生成的C++服务的问题,遂决定研究一下,网上搜索了很久,大多数是C++调用C#的应用.... 经过本人的不断努力,终于找到一种解决问题的方法,总结如 ...
- Xilinx 学习笔记1---新建工程和创建源代码文件
最近终于有空可以记录一些之前学习的内容,本博客系列记录笔者Xilinx ISE学习之旅,当然现在Vivado是学习热门,一步一步来.搞定 ISE,Vivado上手也会很快. 1.安装软件 软件部分的下 ...
- 浅从System.Web.Http.Owin的HttpMessageHandlerAdapter看适配器模式
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 适配器模式(Adapter) 可用来在现有接口和不兼容的类之间进行适配.有助于 ...
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari
一.集群软硬件环境准备: 操作系统: centos 7 x86_64.1804 Ambari版本:2.7.0 HDP版本:3.0.0 HAWQ版本:2.3.05台PC作为工作站: ep-bd01 e ...