jq弹窗(获取页面宽高,滚轮高度,始终居中)

jq写一个弹窗,效果如上图所示,

点击按钮弹窗弹出,右上角关闭。

弹窗始终显示在页面中间,无论放大缩小窗口,滚轮滚动。

代码如下:

html:

<br><br><br><br>
<button>弹出</button>
<div id="tanchuang">
	<span id="close">×</span>
</div>
<br><br><br>

js:

$(function(){
	//定义页面宽度,页面高度,弹窗位置left,弹窗位置top,滚动条高度
	var screenWidth,screenHeight,tcleft,tctop,scrollTop;
	//计算弹窗位置的函数
	tanLocation();
	//按钮添加点击事件,调用方法show(),使弹窗div出现
	$(‘button‘).click(function(){
		$(‘#tanchuang‘).show();
	})
	//关闭按钮添加点击事件,调用方法hide(),使弹窗div消失
	$(‘#close‘).click(function(){
		$(‘#tanchuang‘).hide();
	})
	//窗口对象添加resize() 当浏览器窗口大小改变时执行。
	$(window).resize(function(){
		tanLocation();
	})
	//文档对象添加scroll() 当滚轮高度变化时执行
	$(document).scroll(function(){
		tanLocation();
	})
})
//计算弹窗位置的函数
function tanLocation(){
	//获取页面宽度
	screenWidth = $(window).width();
	//获取页面高度
	screenHeight = $(window).height();
	//计算left值
	tcleft = (screenWidth-100)/2;
	//计算top值
	tctop = (screenHeight-100)/2;
	//获取滚轮高度
	scrollTop = $(document).scrollTop();
	//弹窗的位置样式改变
	$(‘#tanchuang‘).css({‘top‘:tctop+scrollTop,‘left‘:tcleft});
}

原文地址:https://www.cnblogs.com/SSs1995/p/9210533.html

时间: 2024-10-06 21:40:27

jq弹窗(获取页面宽高,滚轮高度,始终居中)的相关文章

javascript 常用获取页面宽高信息 API

在页面的构建中 常常会需要获取页面的一些宽高信息,例如实现 惰性加载图片 需要获取页面的可见区域高度 和 已滚动区域的高度,以判断图片所在位置是否可见来决定加载图片的时间, 花点时间整理了一下,获取页面宽高信息的API 持续整理中... 在IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域

获取页面宽高相关数值

在jquery中 获取浏览器显示区域的高度 : $(window).height(); 获取浏览器显示区域的宽度 :$(window).width(); 获取页面的文档高度 :$(document).height(); 获取页面的文档宽度 :$(document).width(); 获取滚动条到顶部的垂直高度 :$(document).scrollTop(); 获取滚动条到左边的垂直宽度 :$(document).scrollLeft(); 使用javascript 网页可见区域宽: docum

jQuery 获取页面宽高

无滚动条的情况下(页面宽高比可视区域小):$(document)和$(window)的width.height方法获取的值都是一样的,都是可视区域的宽高即$(document).width()==$(window).width() $(document).height()==$(window).height() 有垂直滚动条的情况下(页面高度比可视区域高):比如,可视区域高度638px,而页面实际高度为900或更多,超出可视区域高度,会出现垂直滚动条那么$(document)和$(window)

【整理】原生js和jQ获取窗口宽高及滚动条的方法和函数

原生js和jQ获取窗口宽高及滚动条的方法和函数 一.原生js获取 1.实际宽高(不包括工具栏,滚动条的视口高度,ie6.7.8不支持) window.innerHeight window.innerWidth 2.显示屏宽高 screen.height screen.width 3..显示屏宽高(除windows任务栏之外的高度)屏幕可用工作区 screen.avaiHeight screen.availWidth 4.网页可见区域宽高 document.body.clientWidth doc

jquery获取元素各种宽高及页面宽高总结

window.onload=function(){ var a = $("#div").width(),//width()返回元素的宽高,不包括padding/border/margin b = $("#div").innerWidth(),//innerWidth()返回元素的宽高 + padding c = $("#div").outerWidth(),//outerWidth()返回元素的宽高 + padding + border d =

jquery获取元素各种宽高及页面宽高

如何使用jquery来获取网页里各种高度? 示例如下: 1 $(document).ready(function(){ 2 var divWidth = $("#div").width(),//width()返回元素的宽高,不包括padding/border/margin 3 divInnerWidth = $("#div").innerWidth(),//innerWidth()返回元素的宽高 + padding 4 divOuterWidth = $("

android中加载的html获取的宽高不正确

wap页面使用 js库是zepto,按照惯例在$(function(){})中,来获取当前可视区的宽高,但得到的宽高却与预想的相差十万八千里. 原本android手机的浏览器设定的宽高基本是360*640,原生的浏览器打印没问题,uc没问题,qq没问题. 结果app出问题... ios的各浏览器app都没问题.就android有这种问题,而且是诡异,以为是app没有调宽高... 为了获取高度原来是为了设定轮播图的高度的. 经过调试发现,在图片加载完后再获取宽高就标准了. 所以android ap

js获取浏览器宽高、网页宽高、屏幕宽高、鼠标位置等(带图片说明)

网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;(点击查看大图) 网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区域高: document.body.offsetHeight (包括边线的宽);(点击查看大图)有没有发现,offsetWidth和clientWidth的区别,offsetWidt是连滚动条一起包含在内的. 网页正文全文宽: documen

微信 小程序 drawImage wx.canvasToTempFilePath wx.saveFile 获取设备宽高 尺寸问题

以下问题测试环境为微信开发者0.10.102800,手机端iphone6,如有不对敬谢指出. 根据我的测试,context.drawImage,在开发者工具中并不能画出来,只有预览到手机中显示. wx.canvasToTempFilePath wx.saveFile 官方文档中只有一行,真是坑爹啊,原来 wx.canvasToTempFilePath参数为一个对象包括canvasID,success,fail,complete,和wx.saveFile差不多: wx.canvasToTempFi