整理中。。。

1、js获取页面及元素高度、宽度

其他参考文献:http://www.open-open.com/lib/view/open1420120422531.html

js:

网页可见区域宽: document.body.clientWidth;(不含滚动条)
网页可见区域高: document.body.clientHeight;(不含滚动条)
网页可见区域宽: document.body.offsetWidth;(包括边线的宽);
网页可见区域高: document.body.offsetHeight;(包括边线的宽);
网页正文全文宽: document.body.scrollWidth;
网页正文全文高: document.body.scrollHeight;
网页被卷去的高(ff):document.body.scrollTop;
网页被卷去的高(ie): document.documentElement.scrollTop;
网页被卷去的左: document.body.scrollLeft;
网页正文部分上: window.screenTop;
网页正文部分左: window.screenLeft;
某个元素的宽度: obj.offsetWidth;
某个元素的高度: obj.offsetHeight;
某个元素的上边界到body最顶部的距离: obj.offsetTop;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离: obj.offsetLeft;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量: obj.offsetTop;(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量: obj.offsetLeft;(在元素的包含元素含滚动条的情况下)

屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

jquery:

获取浏览器显示区域(可视区域)的高度 : $(window).height();
获取浏览器显示区域(可视区域)的宽度 : $(window).width();
获取页面的文档高度:$(document).height();
获取页面的文档宽度 :$(document).width();
浏览器当前窗口文档body的高度: $(document.body).height();
浏览器当前窗口文档body的宽度: $(document.body).width();
获取滚动条到顶部的垂直高度 (即网页被卷上去的高度) :$(document).scrollTop();
获取滚动条到左边的垂直宽度 :$(document).scrollLeft();
获取或设置元素的宽度:$(obj).width();
获取或设置元素的高度:$(obj).height();

获取或设置元素的宽度:$(obj).innerWidth(); (height + padding)
获取或设置元素的高度:$(obj).innerHeight(); (height + padding)

获取或设置元素的宽度:$(obj).outerWidth(); (height + padding + border)
获取或设置元素的高度:$(obj).outerHeight(); (height + padding + border)

获取或设置元素的宽度:$(obj).outerWidth(true); (height + padding + border + margin)
获取或设置元素的高度:$(obj).outerHeight(true); (height + padding + border + margin)
某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)

2、选中改变样式,其他默认样式

<dl class="use_class">
<dd>个人</dd>
<dd>机构</dd>
</dl>
<script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
// 用户类别选择,个人、机构
$(document).ready(function(){
$("dd").click(function(){
$(this).css("background","#46b0d5").siblings().css("background","#ccc");
});
</script>
3、JS判断浏览器是否支持某一个CSS3属性的方法

css3表现冲击最大的就是动画了,因此很有必要去事先判断浏览器是否支持,写CSS3动画库就只有部分浏览器支持

function supportCss3(style) {
var prefix = ['webkit', 'Moz', 'ms', 'o'],
i,
humpString = [],
htmlStyle = document.documentElement.style,
_toHumb = function (string) {
return string.replace(/-(\w)/g, function ($0, $1) {
return $1.toUpperCase();
});
}; for (i in prefix)
humpString.push(_toHumb(prefix[i] + '-' + style)); humpString.push(_toHumb(style)); for (i in humpString)
if (humpString[i] in htmlStyle) return true; return false;
}
alert(supportCss3('animation-play-state'));//使用方法
4、JS实现-DIV自动居中代码
window.onload = function(){
function box(){
//获取DIV为‘box’的盒子
var oBox = document.getElementById('box');
//获取元素自身的宽度
var L1 = oBox.offsetWidth;
//获取元素自身的高度
var H1 = oBox.offsetHeight;
//获取实际页面的left值。(页面宽度减去元素自身宽度/2)
var Left = (document.documentElement.clientWidth-L1)/2;
//获取实际页面的top值。(页面宽度减去元素自身高度/2)
var top = (document.documentElement.clientHeight-H1)/2;
oBox.style.left = Left+'px';
oBox.style.top = top+'px';
}
box();
//当浏览器页面发生改变时,DIV随着页面的改变居中。
window.onresize = function(){
box();
}
}
5、JS自动刷新页面

Javascript刷新页面的几种方法:

 history.go(0)
location.reload()
location=location
location.assign(location)
document.execCommand('Refresh')
window.navigate(location)
location.replace(location)
document.URL=location.href

例如:

function myrefresh()
{
window.location.reload();
}
setTimeout('myrefresh()',1000); //指定1秒刷新一次
6、点击空白关闭弹窗的js写法推荐?
$(document).mouseup(function(e){
var _con = $(' 目标区域 '); // 设置目标区域
if(!_con.is(e.target) && _con.has(e.target).length === 0){ // Mark 1
some code... // 功能代码
}
});
/* Mark 1 的原理:
判断点击事件发生在区域外的条件是:
1. 点击事件的对象不是目标区域本身
2. 事件对象同时也不是目标区域的子元素
*/
7、js写一个弹出窗
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js实现一个弹出框</title>
<style type="text/css">
/*预先写好弹出窗的样式*/
#menu{height: 900px;}
#close{
width:30px;
height:30px;
cursor:pointer;
position:absolute;
right:5px;
top:5px;
text-indent:-999em;
background-color:blue;
}
#mask{
background-color:pink;
opacity:0.5;
filter: alpha(opacity=50);
position:absolute;
left:0;
top:0;
z-index:1;
}
#login{
position:fixed;
z-index:2;
}
.loginCon{
position:relative;
width:670px;
height:380px;
/*background:url(img/loginBg.png) #2A2C2E center center no-repeat;*/
background-color: #ccc;
}
</style>
<script>
function openNew(){
//获取页面的高度和宽度
var sWidth=document.body.scrollWidth;
var sHeight=document.body.scrollHeight; //获取页面的可视区域高度和宽度
var wHeight=document.documentElement.clientHeight; var oMask=document.createElement("div");
oMask.id="mask";
oMask.style.height=sHeight+"px";
oMask.style.width=sWidth+"px";
document.body.appendChild(oMask);
var oLogin=document.createElement("div");
oLogin.id="login";
oLogin.innerHTML="<div class='loginCon'><div id='close'>关闭</div></div>";
document.body.appendChild(oLogin); //获取登陆框的宽和高
var dHeight=oLogin.offsetHeight;
var dWidth=oLogin.offsetWidth;
//设置登陆框的left和top
oLogin.style.left=sWidth/2-dWidth/2+"px";
oLogin.style.top=wHeight/2-dHeight/2+"px";
//点击关闭按钮
var oClose=document.getElementById("close"); //点击登陆框以外的区域也可以关闭登陆框
oClose.onclick=oMask.onclick=function(){
document.body.removeChild(oLogin);
document.body.removeChild(oMask);
};
}; window.onload=function(){
var oBtn=document.getElementById("btnLogin");
//点击登录按钮
oBtn.onclick=function(){
openNew();
return false;
} }
</script> </head>
<body>
<div id="menu">
<div id="login-area">
<button id="btnLogin">登录</button>
</div>
</div>
</body>
</html>
8、限制显示字数
  8.1非文本框字数显示限制
var cname = document.getElementsByClassName('text-slick');
for (var i = 0; i < cname.length; i++) {      
var nowLength = cname[i].innerHTML.length;
if (nowLength > wordLength) {
cname[i].innerHTML = cname[i].innerHTML.substr(0,wordLength) + '...';
       }  
     } 
  8.2文本框字数显示限制
HTML代码:
其中:class="ui-text" 、class="ui-input"、data-num="48"、class="ui-textTips",是必不可少的。
<div class="ui-text">

     <textarea name="text" id="text" cols="" rows="" placeholder="" maxlength="48" class="ui-input" data-num="48"></textarea>
<div class="ui-textTips">还可以输入<em>48</em>个字</div>
</div>

JS代码:

 function tipsText(){
$('.ui-text').each(function(){
var _this = $(this);
var elm = _this.find('.ui-input');
var txtElm = _this.find('.ui-textTips');
var maxNum = _this.find('.ui-input').attr('data-num') || 500;
console.log($.support.leadingWhitespace);
if(!$.support.leadingWhitespace){
_this.find('textarea').on('propertychange',function(){
changeNum(elm,txtElm,maxNum);
});
_this.find('input').on('propertychange',function(){
changeNum(elm,txtElm,maxNum);
});
} else {
_this.on('input',function(){
changeNum(elm,txtElm,maxNum);
});
}
});
} tipsText(); //获取文字输出字数,可以遍历使用
//txtElm动态改变的dom,maxNum获取data-num值默认为120个字,ps数字为最大字数*2
function changeNum(elm,txtElm,maxNum) {
//汉字的个数
//var str = (elm.val().replace(/\w/g, "")).length;
//非汉字的个数
//var abcnum = elm.val().length - str;
total = elm.val().length;
if(total <= maxNum ){
texts = maxNum - total;
txtElm.html('还可以输入<em>'+texts+'</em>个字');
}else{
texts = total - maxNum ;
txtElm.html('已超出<em class="error">'+texts+'</em>个字');
}
return ;
}

文本框字数显示限制 方法二

 <html lang='en'>
<head>
<meta charset='utf-8'/>
<title>demo</title>
<style type="text/css">
.sr { width: 300px; height: 300px; padding: 10px; outline: none; border: 1px solid #D4D4D4; background-color: #F3F3F3; }
</style> </head>
<body> <!-- onkeyUp="textLimitCheck(this, 20);" -->
<textarea name="sca" class="sr" cols=45 rows=10 id="praiseName"></textarea>
<br>
<font color=#666666>限 6 个字符 已输入 <font color="#CC0000"><span id="info_limit">0</span></font> 个字</font> <script>
/* 拼音输入法的时候字还没打完就被限制了。
function textLimitCheck(thisArea, maxLength){
if (thisArea.value.length > maxLength){
alert(maxLength + ' 个字限制. \r超出的将自动去除.');
thisArea.value = thisArea.value.substring(0, 20);
thisArea.focus(); } /*回写span的值,当前填写文字的数量*/
/*messageCount.innerText = thisArea.value.length;
}*/ //控制字数
var lim = new limit();
lim.txtNote = document.getElementById("praiseName");
lim.txtLimit = document.getElementById("info_limit");
lim.limitCount = 6;
lim.init();
function limit(){
var txtNote;//文本框
var txtLimit;//提示字数的input
var limitCount;//限制的字数
this.init = function(){
txtNote = this.txtNote;
txtLimit = this.txtLimit;
limitCount = this.limitCount;
txtNote.maxLength = limitCount;
txtNote.onkeydown = function(){txtLimit.innerText = txtNote.value.length;};
txtNote.onkeyup = function(){txtLimit.innerText = txtNote.value.length;};
}
}
// 输入法输入的时候,显示超出设置字数时进行截屏或者其他操作,操作完后,不会自动截取文字 所以需要输入框失去焦点时再截取一次 $('#praiseName').blur(function() {
$this = $(this);
var val = $this.val();
var length = $this.val().length;
var lengthNum = 30;//设置限制的字数 //超过指定字数便截取
if (length > lengthNum) {
var text = $this.val().substring(0, lengthNum);
$this.val(text);
$('#info_limit').text(lengthNum);
};
});
//也可以直接在dom上加onblur事件οnblur="onsubstring();
//function onsubstring(){
// var txtNote = document.getElementById("praiseName");
// var txtLimit = document.getElementById("info_limit");
// var limitCount = 6;
// if (txtNote.value.length > limitCount) {
// var text = txtNote.value.substring(0, limitCount);
// txtNote.value = text;
// txtLimit.innerText = limitCount;
// };
//}; //由于需要验证去除空格,我用到了jquery的 $.trim() 方法,去除输入的文字前后空格,基本满足要求
$('#praiseName').blur(function() {
$this = $(this);
var val = $.trim($this.val());
$this.val(val);//去除空格后,重新赋值
var length = $this.val().length;
var lengthNum = 8;//设置限制的字数
//超过指定字数便截取
if (length > lengthNum) {
var text = $this.val().substring(0, lengthNum);
$this.val(text);
$('#info_limit').text(lengthNum);
}else{
$('#info_limit').text(length);
};
}); //若需要多次使用,可采用下列修改
$("#XX").blur(function(){
blurLength($(this), 20, $('#XX'));
});
$("#XX").blur(function(){
blurLength($(this), 90, $('#XX'));
}); //验证输入框字符串
function blurLength(t, n, l){
var val = $.trim($(t).val());
$(t).val(val);//去除空格后,重新赋值
var length = $(t).val().length;
var lengthNum = n;//设置限制的字数
//超过指定字数便截取
if (length > lengthNum) {
var text = $(t).val().substring(0, lengthNum);
$(t).val(text);
$(l).text(lengthNum);
}else{
$(l).text(length);
};
}
//其他要求 需要在输入时判断只能输入数字和小数点。并且小数点后只保留两位
var lims = new limit();
lims.txtNote = document.getElementById("diningPrice");
lims.txtLimit = document.getElementById("diningPriceNum");
lims.limitCount = 5;
lims.mark = 1;
lims.init();
function limit(){
var txtNote;//文本框
var txtLimit;//提示字数的input
var limitCount;//限制的字数
var mark;//判断标识
this.init = function(){
txtNote = this.txtNote;
txtLimit = this.txtLimit;
limitCount = this.limitCount;
mark = this.mark;
txtNote.maxLength = limitCount;
txtNote.onkeydown = function(){
if (mark == 1) {
clearNoNum(txtNote);
}
txtLimit.innerText = txtNote.value.length;
};
txtNote.onkeyup = function(){
if (mark == 1) {
clearNoNum(txtNote);
}
txtLimit.innerText = txtNote.value.length;
};
}
} //过滤除数字和点外的其他输入内容
function clearNoNum(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数
if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
obj.value= parseFloat(obj.value);
}
}
//其他要求 限制只能输入中文、英文和数字
function limit(){
var txtNote;//文本框
var txtLimit;//提示字数的input
var limitCount;//限制的字数
this.init = function(){
txtNote = this.txtNote;
txtLimit = this.txtLimit;
limitCount = this.limitCount;
txtNote.maxLength = limitCount;
txtNote.onkeydown = function(){
txtNote.value = txtNote.value.replace(/[^\u4E00-\u9FA5A-Za-z0-9]/g,'');
txtLimit.innerText = txtNote.value.length;
};
txtNote.onkeyup = function(){
txtNote.value = txtNote.value.replace(/[^\u4E00-\u9FA5A-Za-z0-9]/g,'');
txtLimit.innerText = txtNote.value.length;
};
}
} </script>
</body>
</html>

js效果 整理的更多相关文章

  1. 《JavaScript实用效果整理》系列分享专栏

    整理一些使用的JavaScript效果,在Web开发中遇到的比较好的动态效果,都收藏在这里,对以后的网站开发增加不少的色彩 <JavaScript实用效果整理>已整理成PDF文档,点击可直 ...

  2. 类js效果

    类似js效果,点击看看  代码 onclick="return confirm('您确定要看看吗?')" 放入a标签里面

  3. m.jd.com首页中的js效果

    m.jd.com中的部分js效果 昨天把m.jd.com的首页布局写好了,今天写一下首页中部分js效果.头部背景色透明度的改变,焦点图轮播,京东快报的小轮播,以及秒杀倒计时.这里html,css样式就 ...

  4. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  5. Tab选项卡切换卡JS效果

    <script type="text/javascript"> /* tab切换选项卡js效果 writed by *** 2010.08.13 1.currentid ...

  6. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  7. JS效果的步骤

    一.写JS效果的步骤 1.先实现布局 (XHTML+CSS2) 2.实现原理 (1)希望把某个元素移除你的视线: a.  display:none;         显示为无,不占据空间 b.  vi ...

  8. Github上html页面(包括CSS样式和JS效果)如何显示出来

    在看Github上项目时,发现有的html页面效果能很好的展现出来,而有的则不能.对这个问题很好奇,因此研究了一下,最终做到了将页面展示出来的目的.下面以我的Github的开源项目bootstrap- ...

  9. WebView 实现JS效果和a标签的点击事件

    目前很多android app都可以显示web页面的界面,嵌入式开发,这个界面一般都是WebView这个控件加载出来的,学习该控件可以为你的app开发提升扩展性. 先说下WebView的一些优点: 可 ...

随机推荐

  1. 联万物,+智能,为行业,华为云升级OceanConnect IoT全栈云服务

    [中国,上海,2019年9月19日] 9月18日,在HUAWEI CONNECT 2019期间,华为云CTO张宇昕在华为云峰会上升级OceanConnect IoT全栈云服务,发布包括端.边.管.云. ...

  2. Numpy的基础用法

    1.用Numpy创建数组 numpy.array(object):创建数组,与array.array(typecode[, initializer])不同,array.array()只能创建一维数组 ...

  3. Object类和@Data注解

    特别说明:若是有不对的地方欢迎指正 简要概述: Object类是java中所有类默认继承的一个类.下面介绍一下Object类中的一些重要的方法,面试中也是经常会被问到的.尤其是==和equals的区别 ...

  4. JavaEE基础(03):Http请求详解,握手挥手流程简介

    本文源码:GitHub·点这里 || GitEE·点这里 一.Http协议简介 1.概念说明 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传 ...

  5. NCPC 2016 Fleecing the Raffle

    Description A tremendously exciting raffle is being held, with some tremendously exciting prizes bei ...

  6. POJ 3660 cow contest (Folyed 求传递闭包)

    N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we ...

  7. 最全的防火墙(firewalld)

    第1章  防火墙的介绍 1.1  防火墙的介绍 1.1.1 概念 动态管理防火墙服务(图形界面和linux界面都可以实现) 支持不同防火墙的区域信息 属于传输层次的防火墙 1.1.2 防火墙的默认规则 ...

  8. WPF 画一个3D矩形并旋转

    具体的代码还是线性代数. 主要是旋转和平移. 这个例子的中模型是在世界原点建立.所以旋转会以自身轴心旋转. 如果不在世界原点建立模型,还想以自身为旋转轴旋转. 则是需要以下步骤: 模型的中心点为V1( ...

  9. Selenium之ActionChains类、Keys类

    ActionChains类(鼠标操作)常用于模拟鼠标的行为,比如单击.双击.拖拽等行为. 一些常用的模拟鼠标的操作方法有: click(on_element=None)     --- 鼠标单击 do ...

  10. display:none和visibility:hidden两者的区别

    display与元素的隐藏 如果给一个元素设置了display: none,那么该元素以及它的所有后代元素都会隐藏,它是前端开发人员使用频率最高的一种隐藏方式.隐藏后的元素无法点击,无法使用屏幕阅读器 ...