您的位置:首页 > Web前端 > JavaScript

JS学习笔记

2015-10-03 09:36 567 查看

微信jssdk在iframe页面失效问题的解决措施

可以在主页面进行签名验证,子页面不添加jssdk的签名信息。需要调用jssdk接口时,比如图片选择接口,在jssdk的函数前加parent.,即调用父页面的此函数,经过测试,功能可正常调用。

parent.wx.chooseImage({
success: function (res) {
//upload_success(res.localIds);
}


取消input的disabled

document.getElementById(‘id’).disabled=false

$被占用的问题

可以通过var jq=jQuery.noConflict();来解决

只能输入数字和英文、下划线的输入框

<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">


动态插入js

var fileref=document.createElement('script')//创建标签
fileref.setAttribute("type","text/javascript")//定义属性type的值为text/javascript
fileref.setAttribute("src", "https://code.jquery.com/jquery.min.js")//文件的地址
document.getElementsByTagName("head")[0].appendChild(fileref);


动态定义函数

var foo01 = function()
{
var temp = 100;
this.temp = 200;
return temp + this.temp;
}
alert(foo01());
var foo3 = new Function('var temp = 100; this.temp = 200; return temp + this.temp;');
带参数:
var sayHi = new Function("sName", "sMessage", "alert(\"Hello \" + sName + sMessage);");
等效于:
function sayHi(sName, sMessage) {
alert("Hello " + sName + sMessage);
}


jquery与js对象如何互转

//jquery对象转为js对象
function jQueryObjToJSObj(id){
alert($(“#”+id)[0].id);
}
//js对象转为jquery对象
function jsObjToJqueryObj(jsObj){
alert($(jsObj).id);
}


遮罩+弹出居中

<html>
<head>
<title>DIV CSS遮罩层</title>
<script language="javascript" type="text/javascript">
function showdiv() {
document.getElementById("bg").style.display ="block";
document.getElementById("show").style.display ="block";
}
function hidediv() {
document.getElementById("bg").style.display ='none';
document.getElementById("show").style.display ='none';
}
</script>
<style type="text/css">
#bg{
display: none;
position: fixed;
top: 0%;  left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1001;
-moz-opacity: 0.7;
opacity:.70;
filter: alpha(opacity=70);
}
#show{
display: none;
position: absolute;
top:50%;
left:50%;
width:300px;
height:200px;
margin-left:-150px;
margin-top:-100px;
padding: 8px;
border: 8px solid #E8E9F7;
background-color: white;
z-index:1002;
overflow: auto;
}
</style>
</head>
<body>
<input id="btnshow" type="button" value="Show" onclick="showdiv();"/>
<div id="bg"></div>
<div id="show">测试
<input id="btnclose" type="button" value="Close" onclick="hidediv();"/>
</div>
</body>
</html>


urlencode

encodeURI,encodeURIComponent
相应解码函数:decodeURI,decodeURIComponent


超出div自动滚动条

style="overflow:auto!important;"


json对象与字符串转换

//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = JSON.parse(str);
//将JSON对象转化为JSON字符
var str=JSON.stringify(obj);
//php数组转换
function object2array(&$object) {
$object =  json_decode( json_encode( $object),true);
return  $object;
}
//php创建stdClass对象
$user = new stdClass();
$user->name = 'gouki';


解决子级对象使用css float浮动 而父级div不能自适应高度

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>父div不自适应高度实例</title>
<style>
.divcss5{width:500px;border:1px solid #000;padding:10px}
.divcss5-lf{ float:left; width:220px; height:100px; background:#000}
.divcss5-rt{ float:right; width:230px; height:100px; background:#06F}
.clear{ clear:both}
</style>
</head>
<body>
<div class="divcss5">
<div class="divcss5-lf"></div>
<div class="divcss5-rt"></div>
<div class="clear"></div>
</div>
</body>
</html>


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>父div不自适应高度实例</title>
<style>
.divcss5{width:500px;border:1px solid #000;padding:10px; overflow:hidden }
.divcss5-lf{ float:left; width:220px; height:100px; background:#000}
.divcss5-rt{ float:right; width:230px; height:100px; background:#06F}
</style>
</head>
<body>
<div class="divcss5">
<div class="divcss5-lf"></div>
<div class="divcss5-rt"></div>
</div>
</body>
</html>


局部style

<style scoped>
/* styles go here */
</style>


日期格式化

Date.prototype.Format = function(fmt)
{ //author: meizz
var o = {
"M+" : this.getMonth()+1,                 //月份
"d+" : this.getDate(),                    //日
"h+" : this.getHours(),                   //小时
"m+" : this.getMinutes(),                 //分
"s+" : this.getSeconds(),                 //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S"  : this.getMilliseconds()             //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
//用法:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18


Date() 返回当日的日期和时间。

getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。

getMonth() 从 Date 对象返回月份 (0 ~ 11)。

getFullYear() 从 Date 对象以四位数字返回年份。

getYear() 请使用 getFullYear() 方法代替。

getHours() 返回 Date 对象的小时 (0 ~ 23)。

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。

getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。

getTime() 返回 1970 年 1 月 1 日至今的毫秒数。

getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。

getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。

parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth() 设置 Date 对象中月份 (0 ~ 11)。

setFullYear() 设置 Date 对象中的年份(四位数字)。

setYear() 请使用 setFullYear() 方法代替。

setHours() 设置 Date 对象中的小时 (0 ~ 23)。

setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。

setTime() 以毫秒设置 Date 对象。

setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。

setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

toSource() 返回该对象的源代码。

toString() 把 Date 对象转换为字符串。

toTimeString() 把 Date 对象的时间部分转换为字符串。

toDateString() 把 Date 对象的日期部分转换为字符串。

toGMTString() 请使用 toUTCString() 方法代替。 1 3

toUTCString() 根据世界时,把 Date 对象转换为字符串。

toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。

toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。

UTC() 根据世界时返回 1997 年 1 月 1 日 到指定日期的毫秒数。

valueOf() 返回 Date 对象的原始值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: