JQuery 基本使用、操作样式、简单动画

JQ与JS

  • JQ是JS写的插件库,就是一个JS文件
  • 凡是用JQ能实现的,JS都能实现,JS能实现的,JQ不一定能实现

引入

  • BootCDN:https://www.bootcdn.cn/jquery/
  • 本地文件引入:<script src="js/jq.js"></script>
  • 在线引入:<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>


选择元素

  • 在JQ中使用选择器选择元素和在CSS中使用CSS选择器是一样的
  • $("p,span").click(function () { ... });
  • 方法内使用时,选择当前选中的元素,用this:$(this)

基本使用一

  • 修改内容
    • html()
    • text()
  • jq/js对象转换
    • get()/[]
    • $()
  • 点击事件
    • 单击:click()
    • 双击:dblclick()
  • 鼠标滑入滑出:hover()
  • 添加内容
    • 前:prepend()
    • 后:append()
  • 添加标签
    • 前:before()
    • 后:after()
  • 移除值
    • empty()
    • remove()
// 修改内容
$("#p1").html("<h1>11</h1>");//html()
$("#p2").text("<h1>12</h1>");//text()

//将jq对象转换为js对象
var p = $('p');
p.get(0).innerHTML=("<h1>21</h1>");//get()
p[1].innerText=("<h1>22</h1>");//[]

// 将js对象转换为jq对象
var sp1 = document.getElementsByClassName('sp1');
$(sp1).text("23");//$()

//单击
$("#p1").click(function () {
    alert("单击")
});
//双击
$("#p2").dblclick(function () {
    alert('双击')
});

// 鼠标滑入滑出
$("#p2").hover(function () {
    alert("鼠标滑入")
},function () {
    alert("鼠标滑出")
});

//添加内容
var p2 = $("#p2");
p2.prepend("在前==preend==");//prepend()
p2.append("==append==在后");//append()

//添加标签
var p1 = $("#p1");
p1.before("<p id='p0'>p1_前</p>");//before()
p1.after("<p class='p'>p1_后</p>");//after()

//移除
$('#p1').empty();//清空内容、标签还在
$('#p2').remove();//连标签一起删除


基本使用二

  • 操作属性
    • attr()
    • removeAttr()
  • 添加/移除Class属性的值
    • addClass()
    • removeClass()
  • 判断:hasClass()
  • 索引
    • each()
    • index()
  • 滚动条事件
    • scroll()
    • scrollTop()
    • scrollLeft()
var div1 = $("#div1");
// 操作属性
div1.attr("aaa","bbb");
// alert(div1.attr("aaa"));//bbb
div1.removeAttr("aaa");

// 添加/移除class属性的值
div1.addClass("divClass1");
div1.addClass("divClass2");//class="divClass1 divClass2"
div1.removeClass("divClass1");//class标签还在,但没有值

//判断Class是否有这个值
// alert(div1.hasClass("divClass"));

//遍历 each()
$("ul li").each(function (i) {
    $(this).text("元素下标:"+i)
});

//下标  index()
$("li").click(function () {
    alert($(this).index())
});

// 滚动条事件
$(window).scroll(function () {
    console.log("左:"+$(document).scrollLeft());//离左边
    console.log("上:"+$(document).scrollTop());//离上边
})


基本使用三

  • 父级元素:parent()
  • 子级元素:children()
  • 兄弟:siblings()
  • 后代:find()
  • 祖宗:parents()
// 查找父级元素
console.log($("li").parent());
// 查找子级元素
console.log($("#div1").children());
// 查找兄弟元素
console.log($("#p2").siblings());
// 查找后代元素
console.log($("ul").find("li"));//find必须给参数
// 查找祖辈元素
console.log($("#li3").parents());


操作CSS样式

$("..").css({...})
//设置
$("#div1").css({
    "height":"300px",
    "width":"300px",
    "border":"1px red solid"
});
//获取
console.log($("#div1").css("border"));


简单动画

  • 隐藏: hide()
  • 显示: show()
  • 向上:slideUp()
  • 向下:slideDown()
  • 取反:slideToggle()
  • 淡入:fadeIn()
  • 淡出:fadeOut()
  • 自定义:fadeTo()
  • 取反:fadeToggle()
  • 动画:animate()
  • 停止:stop()
  • 延迟:delay()
// //显示
// $("#btn1").click(function () {
//     $("#div1").show(500)//设置动画时间
// });
// // 隐藏
// $("#btn2").click(function () {
//     $("#div1").hide()
// });

// //向上
// $("#btn1").click(function () {
//     $("#div1").slideUp(2000);//设置动画时间
//     //取反:向上完毕之后会自动返回
//     // $("#div1").slideToggle(2000);
//
// });
// // 向下
// $("#btn2").click(function () {
//     $("#div1").slideDown();
//     $("#div1").slideToggle(500);//取反
// });

// //淡入
// $("#btn1").click(function () {
//     $("#div1").fadeIn(1500);//设置动画时间
//     $("#div1").fadeToggle(500);//取反
//
// });
// // 淡出
// $("#btn2").click(function () {
//     $("#div1").fadeOut(1500);
// });
// // 自定义
// $("#btn3").click(function () {
//     // 参数:动画时间,透明度(0-1)
//     $("#div1").fadeTo(1000,0.3);
// });

//自定义动画
$("#btn1").click(function () {
    //动画时间3秒、延迟3秒
    //完成或者停止时,3秒过后才能继续后续点击的动画操作
    $("#div1").animate({
        width: "600px",
        height: "400px",
        opacity: "0.3"  //透明度
    }, 3000).delay(3000)
});
//自定义动画
$("#btn2").click(function () {
    //动画时间3秒、延迟2秒
    //完成或者停止时,2秒过后才能继续后续点击的动画操作
    $("#div1").animate({
        width: "100px",
        height: "100px",
        opacity: "1"  //透明度
    },3000).delay(2000)
});
// 停止动画
$("#btn3").click(function () {
    $("#div1").stop();
});




posted @ 2019-12-14 21:19  纪宇-年华  阅读(...)  评论(...编辑  收藏