整理中。。。

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. 转:spring aop 拦截业务方法,实现权限控制

    难点:aop类是普通的java类,session是无法注入的,那么在有状态的系统中如何获取用户相关信息呢,session是必经之路啊,获取session就变的很重要.思索很久没有办法,后来在网上看到了 ...

  2. Java修炼——String类_常用方法_常量池

    String类的定义:String 是不可变字符序列 String 类的常用方法(全部都是不能改变String本身的值,都是在常量池里输出,没有改变其值) String string="ab ...

  3. [TimLinux] Django 中间件

    1. 定义 中间件是一个钩子框架,深入到django的请求/响应处理过程中.这是一个轻量.底层插件系统,目的是全局修改django的输入或输出.每一个中间件组件都是用来处理特定的功能.例如django ...

  4. nbuoj2784 倒水

    题目:http://www.nbuoj.com/v8.83/Problems/Problem.php?pid=2784 一天,TJ买了N个容量无限大的瓶子,开始时每个瓶子里有1升水.接着TJ决定只保留 ...

  5. 2019 牛客国庆集训派对day1-C Distinct Substrings(exkmp+概率)

    链接:https://ac.nowcoder.com/acm/contest/1099/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  6. XCode项目配置

    此设置优先级在playersetting之上,如果为空或者格式不正确或者文件不存在将不会设置,请注意 一.设置面板 二.对应Xcode中设置 1.TeamID  登录苹果开发者网站,查看个人信息,就有 ...

  7. Oracle - 给rac创建单实例dg,并做主从切换

    一.概述 本文将介绍如何给rac搭建单节点的dg,以及如何对其进行角色转换.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库rac(已安装rac,并已有数据库orcl)ra ...

  8. docker-compose编排参数详解

    一.前言 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配置中创建并启动所有服务. C ...

  9. iOS 类别 类扩展 简要说明

  10. 计算密集型和 io 密集型项目的使用场景分析和代码演示

    from threading import Thread from multiprocessing import Process import time 计算密集型 def work1(): res= ...