1、异步加载,多个class如何判断咱们点击的哪一个
$ ( function ( ) {
# 为了避免事件没响应这里统一使用全局查找元素
$ ( 'body' ) . on ( 'click' , '.btn' , function ( ) {
# 如果上次有点击事件清空上一次事件残留
$ ( '#val' ) . attr ( 'id' , '' ) ;
# 获取此次众多class 其中被点击的一个标签并设置唯一id方便取值,请查询this 方法
$ ( this ) . attr ( "id" , 'val' ) ;
# 取已经设置好id的标签属性data的值
data = $ ( '#val' ) . attr ( "data" ) ;
$. ajax ( {
async : false ,
type : 'post' ,
url : "/路径" ,
data : {
id : data,
} ,
success : function ( res ) {
}
} ) ;
} )
} ) ;
2、当普通点击事件不起作用,启用全局模式捕捉用户事件(推荐使用)
$ ( function ( ) {
$ ( 'body' ) . on ( 'click' , '.btn' , function ( ) {
} )
} ) ;
3、设置延缓等之前事件执行结束再执行
# 当提示弹框后0.8 秒再执行刷新网页
message. showSuccess ( '刚刚奥利给了' ) ;
setTimeout ( function ( ) {
location. reload ( )
} , 800 ) ;
4、通过原始弹框判断事件是否继续执行,事件在return true或return false之前写,否则不触发
$ ( '#button' ) . click ( function ( ) {
if ( window. confirm ( '是否继续,您一个小时只有两次机会骂人?' ) ) {
# 清空之前骂的话
$ ( "#say" ) . html ( '' ) ;
var data = $ ( '#button' ) . attr ( 'data' ) ;
$ ( '#say' ) . append ( "<p>" + data + "</p>" )
return true ;
} else {
return false ;
}
} ) ;
5、通过jq获取图片缓存url并传递给img的src
< img width= "200" height= "100" src= "dog.jpg" alt= "" >
< input type = "file" id = "image" >
< button id = "pull" > 提交< / button>
< script src= "http://libs.baidu.com/jquery/2.1.4/jquery.min.js" > < / script>
< script type = "application/javascript" >
$( function ( ) {
var btn = $( '#pull' ) ;
btn. click( function ( ) {
var file = $( '#image' ) [ 0 ] . files[ 0 ] ;
var url = window. URL. createObjectURL( file ) ;
$( 'img' ) . attr( 'src' , url)
} )
} ) ;
< / script>
6、js随机数组排序
var arr = [ 1 , 2 , 3 , 4 , 5 ]
arr. sort ( function ( ) {
return Math. random ( ) - 0.5
} )
console. log ( arr) ;
7、js操作
document. body. clientWidth == > BODY 对象宽度
document. body. clientHeight == > BODY 对象高度
document. documentElement. clientWidth == > 可见区域宽度
document. documentElement. clientHeight == > 可见区域高度
网页可见区域宽: document. body. clientWidth
网页可见区域高: document. body. clientHeight
网页可见区域宽: document. body. offsetWidth ( 包括边线的宽)
网页可见区域高: document. body. offsetHeight ( 包括边线的高)
网页正文全文宽: document. body. scrollWidth
网页正文全文高: document. body. scrollHeight
网页被卷去的高: document. body. scrollTop
网页被卷去的左: document. body. scrollLeft
网页正文部分上: window. screenTop
网页正文部分左: window. screenLeft
屏幕分辨率的高: window. screen. height
屏幕分辨率的宽: window. screen. width
屏幕可用工作区高度: window. screen. availHeight
屏幕可用工作区宽度: window. screen. availWidth
$ ( window) . height ( )
$ ( document) . height ( )
$ ( document. body) . height ( )
$ ( document. body) . outerHeight ( true )
$ ( window) . width ( )
$ ( document) . width ( )
$ ( document. body) . width ( )
$ ( document. body) . outerWidth ( true )
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 相对文档的水平座标+ 垂直方向滚动的量
8、回车事件
$ ( ".search" ) . keydown ( function ( event ) {
if ( event. keyCode === 13 ) {
let keywords = $ ( '.search' ) . val ( ) ;
LoadedByDefault ( 1 , 10 , keywords)
}
} ) ;
9、获取滚动数据
setInterval(function main() {
get_data();
}, 300)
var globel_num = 0
function get_data() {
let chat_li = document.getElementsByClassName('chat-info');
num = chat_li.length;
if(globel_num<num && globel_num != 0){
const array = Array.from(chat_li);
console.log(array.slice(globel_num))
globel_num = num
}
globel_num = num
}