西北乱跑娃 --- 前端jquery几个实用的功能

3 篇文章 0 订阅

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  
  
// 部分jQuery函数  
$(window).height()  //浏览器时下窗口可视区域高度   
$(document).height()    //浏览器时下窗口文档的高度   
$(document.body).height()      //浏览器时下窗口文档body的高度   
$(document.body).outerHeight(true) //浏览器时下窗口文档body的总高度 包括border padding margin   
$(window).width()  //浏览器时下窗口可视区域宽度   
$(document).width()//浏览器时下窗口文档对于象宽度   
$(document.body).width()      //浏览器时下窗口文档body的高度   
$(document.body).outerWidth(true) //浏览器时下窗口文档body的总宽度 包括border padding  
  
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
  
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西北乱跑娃

万水千山总是情,犒赏一下行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值