Bootstrap

【Web开发手礼】探索Web开发的魅力(九)-JavaScript(3)-事件、常用库 jQuery、setTimeout与setInterval

主要介绍了JavaScript中的事件、常用库 jQuery、setTimeout与setInterval,可以当作学习笔记收藏一下!!!

文章目录

前言

事件

鼠标

键盘

表单

窗口

 常用库

jQuery

使用方式

 选择器

 事件

元素的隐藏、展现

元素的添加、删除

对类的操作

对CSS的操作

 对标签属性的操作

对HTML内容、文本的操作

ajax

 setTimeout与setInterval

setTimeout(func, delay)

clearTimeout()

setInterval(func, delay)

clearInterval()


前言

主要介绍了JavaScript中的事件、常用库 jQuery、setTimeout与setInterval,可以当作学习笔记收藏一下!!!


事件

JavaScript的代码一般通过事件触发。

可以通过addEventListener函数为元素绑定事件的触发函数。

常见的触发函数有:

鼠标

  • click:鼠标左键点击
  • dblclick:鼠标左键双击
  • contextmenu:鼠标右键点击
  • mousedown:鼠标按下,包括左键、滚轮、右键
  • event.button:0表示左键,1表示中键,2表示右键
  • mouseup:鼠标弹起,包括左键、滚轮、右键
  • event.button:0表示左键,1表示中键,2表示右键
     

键盘

  •  keydown:某个键是否被按住,事件会连续触发
  • event.code:返回按的是哪个键
  • event.altKey、event.ctrlKey、event.shiftKey分别表示是否同时按下了alt、ctrl、shift键。
     
  • keyup:某个按键是否被释放
  • event常用属性同上  

  • keypress:紧跟在keydown事件后触发,只有按下字符键时触发。适用于判定用户输入的字符。
  • event常用属性同上 

keydown、keyup、keypress的关系类似于鼠标的mousedown、mouseup、click

表单

  •  focus:聚焦某个元素
  • blur:取消聚焦某个元素
  • change:某个元素的内容发生了改变

窗口

 需要作用到window元素上。

  • resize:当窗口大小放生变化
  • scroll:滚动指定的元素
  • load:当元素被加载完成

 常用库

jQuery

使用方式

  • 在<head>元素中添加:
    <script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script>
  • jQuery官网提示下载

 选择器

$(selector),例如:

$('div');
$('.big-div');
$('div > p')

selector类似于CSS选择器。

 事件

$(selector).on(event, func)绑定事件,例如:

$('div').on('click', function (e) {
    console.log("click div");
})

$(selector).off(event, func)删除事件,例如:

$('div').on('click', function (e) {
    console.log("click div");

    $('div').off('click');
});

 当存在多个相同类型的事件触发函数时,可以通过click.name来区分,例如:

$('div').on('click.first', function (e) {
    console.log("click div");

    $('div').off('click.first');
});

在事件触发的函数中的return false等价于同时执行:

  • e.stopPropagation():阻止事件向上传递
  • e.preventDefault():阻止事件的默认行为  

元素的隐藏、展现

  • $A.hide():隐藏,可以添加参数,表示消失时间
  • $A.show():展现,可以添加参数,表示出现时间
  • $A.fadeOut():慢慢消失,可以添加参数,表示消失时间
  • $A.fadeIn():慢慢出现,可以添加参数,表示出现时间

function main(){
    let $div = $("div");
    let $hiddenButton = $("#hidden-button");
    let $showButton = $("#show-button");
    $hiddenButton.on("click",function(){
        $div.hide();
    });
    $showButton.on("click",function(){
        $div.show();
    });
}

export {
    main
}

元素的添加、删除

  •  $('<div class="mydiv"><span>Hello World</span></div>'):构造一个jQuery对象
  • $A.append($B):将$B添加到$A的末尾
  • $A.prepend($B):将$B添加到$A的开头
  • $A.remove():删除元素$A
  • $A.empty():清空元素$A的所有儿子

 

$div.on("click",function(){
        let $a = $(`
            <a href = \"https://www.baidu.com\">
            baidu
            <span>!!!!</span>
            </a>
            `);
        $div.append($a);

    });

对类的操作

  •  $A.addClass(class_name):添加某个类
  • $A.removeClass(class_name):删除某个类
  • $A.hasClass(class_name):判断某个类是否存在

对CSS的操作

  •  $("div").css("background-color"):获取某个CSS的属性
  • $("div").css("background-color","yellow"):设置某个CSS的属性
  • 同时设置多个CSS的属性:
$('div').css({
    width: "200px",
    height: "200px",
    "background-color": "orange",
});

 对标签属性的操作

$('div').attr('id'):获取属性
$('div').attr('id', 'ID'):设置属性

对HTML内容、文本的操作

 不需要背每个标签该用哪种,用到的时候Google或者百度即可。

$A.html():获取、修改HTML内容
$A.text():获取、修改文本信息
$A.val():获取、修改文本的值

查找

  • $(selector).parent(filter):查找父元素
  • $(selector).parents(filter):查找所有祖先元素
  • $(selector).children(filter):在所有子元素中查找
  • $(selector).find(filter):在所有后代元素中查找 

ajax

 GET方法:

$.ajax({
    url: url,
    type: "GET",
    data: {
    },
    dataType: "json",
    success: function (resp) {

    },
});

 POST方法:

$.ajax({
    url: url,
    type: "POST",
    data: {
    },
    dataType: "json",
    success: function (resp) {

    },
});

 setTimeout与setInterval

setTimeout(func, delay)

delay毫秒后,执行函数func()。

clearTimeout()

关闭定时器,例如:

let timeout_id = setTimeout(() => {
    console.log("Hello World!")
}, 2000);  // 2秒后在控制台输出"Hello World"

clearTimeout(timeout_id);  // 清除定时器

setInterval(func, delay)

每隔delay毫秒,执行一次函数func()。
第一次在第delay毫秒后执行。 

clearInterval()

关闭周期执行的函数,例如:

let interval_id = setInterval(() => {
    console.log("Hello World!")
}, 2000);  // 每隔2秒,输出一次"Hello World"

clearInterval(interval_id);  // 清除周期执行的函数

 总结

主要介绍了JavaScript中的事件、常用库 jQuery、setTimeout与setInterval,可以当作学习笔记收藏一下!!!

;