经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
jquery基础
来源:cnblogs  作者:小哥东  时间:2019/4/8 12:42:50  对本文有异议

本文转载自https://blog.csdn.net/xiaogeldx/article/details/85467270

JQ简单介绍

  • JQ是JS写的插件库,就是一个js文件
  • 凡是用jq能实现的,js都能实现,js能实现的,jq不一定能实现
  • JQ理念
    • write less,do more
  • 在JQ中使用选择器选择元素和在css中使用CSS选择器是一样的,如下:

    1. <p id="p1">111</p>
    2. <p id="p2">hahaha</p>
    3. <script src="../js/jquery-3.3.1.js"></script> #下面的也一样
    4. #<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    5. #在https://www.bootcdn.cn/jquery/里https://cdn.bootcss.com/jquery/3.3.1/jquery.js复制到本地或者直接引用
    6. <script type="text/javascript">
    7. $("p").click(function () { //必须引用jquery文件才能用$,$表示jquery
    8. //$('#p1').click(function(){ //选择器方法同css
    9. alert("qwe");
    10. });
    11. //$('.p1').on('click',function() { //绑定事件,效果同上,用与动态的网页效果更好
    12. //alert('qwe');
    13. //});
    14. </script>

    JQ基本使用

    JQ基本使用1

    修改内容

  • html()相当于JavaScript的innerHTML
  • text()相当于JavaScript的innerText

    1. <ul>
    2. <li>1</li>
    3. <li>2</li>
    4. <li>3</li>
    5. <li>4</li>
    6. </ul>
    7. <script src="../js/jquery-3.3.1.js"></script>
    8. <script type="text/javascript">
    9. // $("ul li").html(111); //text()亦可
    10. $("ul li").eq(0).html(111); //111 (0)是索引,不加索引表示选择全部
    11. 2
    12. 3
    13. 4
    14. </script>

    在这里插入图片描述

    转换

  • get()/[]:jq对象使用js方法

    1. var p1 = document.getElementById('p1');
    2. $(p1).html('hahaha');
  • $():js对象使用jq方法

    1. $('.p2')[0].innerText = 'hengheng'; //两种方法效果一样,索引表示第几个
    2. $('#p1').get(0).innerText = 'hengheng';

    点击

  • click()

    1. $("#btn").click(function () {
    2. alert("qew");
    3. })

    鼠标

  • hover()

    1. //当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。
    2.  $("#p1").hover(function () {
    3. console.log("移入")
    4. },function () {
    5. console.log("移出")
    6. })

    追加

  • append()

    1. $("#p1").append("我是被追加进来的") //加到后面

    添加

  • prepend()

    1. $("#p1").prepend("我是被添加进来的“) //添加到前面

    前后

  • before()
  • after()

    1. $("#p1").before("我是他哥哥"); //加到上一行
    2. $("#p1").after("我是他兄弟"); //加到下一行

    在这里插入图片描述

    移除

  • empty() 清空
  • remove() 移除

    1. $("div").empty() // 清空里面的内容,保留自己属性

    在这里插入图片描述

    1. $("div").remove() // 移除自己和下面子集的所有

    在这里插入图片描述

    JQ的基本使用2

    操作属性

  • attr()
  • removeAttr()

    1. alert($("#p1").attr("id")); //返回属性值
    2. $("#p1").attr("a","b") //添加/修改属性,无则增,有则改
    3. $("#p1").attr({
    4. "a":"b", //注意符号
    5. "class":"d"
    6. });
    7. $(".d").removeAttr("a"); //移除

    添加/移除class

  • addClass()
  • removeClass()

    1. $("#div1").addClass("div3"); //写多个也可以加多个
    2. $("#div1").addClass("div4"); //写多个也可以加多个
    3. $("#div1").removeClass("div3") //移除
    4. $(".div3").removeClass("div3") //同上

    判断

  • hasClass() 看是否存在该css

    1. <div id="div1" class="div12">
    2. alert($(".div12").hasClass("div12")); //hasClass中添属性值
    3. alert($("#div1").hasClass("div12")); //返回结果都是true

    索引

  • each() each() 方法为每个匹配元素规定要运行的函数
  • index() 索引 相当于jq的indexOf()

    1. $("ul li").each(function (i) {
    2. $(this).html("我是第"+i+"个") //this表示当前标签
    3. })
    4. alert($("#li2").index()); //2,查索引

    滚动条事件

  • scroll()
  • scrollTop()
  • scrollLeft()

    1. $(window).scroll(function () {
    2. console.log($(document).scroll());
    3. console.log($(document).scrollLeft()); //左右
    4. console.log($(document).scrollTop()); //上下
    5. })

    JQ基本使用3

    父子元素

  • parent
  • children()

    兄弟

  • siblings

    后代

  • find

    祖宗(父级之上)

  • parents

    1. <div id="div1">
    2. <input type="button">
    3. <div><ul class="abc">
    4. <li id="li1"></li>
    5. <li id="li2"></li>
    6. <li></li>
    7. </ul>
    8. </div>
    9. <ul></ul>
    10. <p><span>222</span></p>
    11. <p></p>
    12. </div>
    13. <script src="js/jquery-3.3.1.js"></script>
    14. <script type="text/javascript">
    15. // 父级
    16. console.log($(".abc").parent());
    17. // 子级
    18. console.log($("#div1").children());
    19. // 兄弟
    20. console.log($("#li1").siblings());
    21. // 后代 find需要传参
    22. console.log($("#div1").find("li"))
    23. // 祖宗 parents逐层向外查,可以加参
    24. console.log($("li").parents())
    25. console.log($("li").parents("div"))
  • 结果:
    在这里插入图片描述

    定位父级

  • position()

    窗口

  • offset()

    宽高

  • width()/height()

    循环添加

  • on

    移除

  • off

    JQ操作样式

  • $选中元素.css({css样式,以json形式})

    1. $('.div1').css({
    2. 'width':'400px',
    3. 'background':'yellow',
    4. 'color':'red',
    5. 'font-size':29
    6. })

    在这里插入图片描述

JQ动画

常用的特殊符号

  • hide():隐藏
  • show():显示
  • slideUp:向上
  • slideDown:向下
  • slideToggle:取反
  • fadeIn:淡入
  • fadeOut:淡出
  • fadeTo:自定义
  • fadeToggle;取反
  • animate;动画
  • stop:停止
  • delay:延迟

    1. $('#btn1').click(function(){
    2. $('div').hide(); //hide()中可加参数,参数表示执行多久
    3. });
    4. $('#btn2').click(function () {
    5. $('div').show(2000); //show()中可不加参数
    6. });
    7. $('#btn1').click(function () {
    8. $('div').slideUp(); //slideUp()中可加参数
    9. $('div').slideToggle(); //可加参数,加此条代码拉上后自动下来
    10. });
    11. $('#btn2').click(function () {
    12. $('div').slideDown(1000); //slideDown()中可不加参数
    13. $('div').slideToggle(); //可加参数,加此条代码拉下后自动上去
    14. });
    15. $('#btn3').click(function () {
    16. $('div').slideToggle(); //可加参数,点一下拉下,再点拉上
    17. });
    18. $('#btn1').click(function () {
    19. $('div').fadeOut(2000); //淡出
    20. $('div').fadeToggle(); //取反,淡出后自动淡入
    21. });
    22. $('#btn2').click(function () {
    23. $('div').fadeIn(1000); //淡入
    24. $('div').fadeOut(); //取反,淡入后自动淡出
    25. });
    26. $('#btn3').click(function () {
    27. $('div').fadeToggle(1000); //可加参数,点一下淡出,再点淡入
    28. });
    29. $('#btn1').click(function () {
    30. $('div').animate({
    31. width:'600px',
    32. height:'600px',
    33. },2000)
    34. });
    35. $('#btn2').click(function () {
    36. $('div').stop(); //暂停动画
    37. });
    38. $('#btn3').click(function () {
    39. $('div').delay(2000).fadeOut(2000); //delay延迟,这里延迟两秒再淡出
    40. });

    练习

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>轮播图</title>
    6. <link rel="stylesheet" href="css/reset.css">
    7. <style type="text/css">
    8. /*li {*/
    9. /*list-style: none;*/
    10. /*}*/
    11. #center {
    12. width: 800px;
    13. height: 180px;
    14. position: relative;
    15. border: 1px solid red;
    16. line-height: 180px;
    17. background: url('image/zql1.jpeg');
    18. background-size: 100% 100%;
    19. }
    20. #center .ul1 li span {
    21. font-size: 80px;
    22. color: white;
    23. position: absolute;
    24. }
    25. #center .ul2 {
    26. position: absolute;
    27. /*text-align: center;*/
    28. left: 325px;
    29. bottom: 15px;
    30. }
    31. #center .ul2 li {
    32. width: 20px;
    33. height: 20px;
    34. border: 1px solid aqua;
    35. background: greenyellow;
    36. border-radius: 50%;
    37. float: left;
    38. margin: 8px;
    39. //不透明度
    40. opacity: 0.7;
    41. /*position: absolute;*/
    42. }
    43. #center .ul2 .li1:hover {
    44. border:1px solid yellow;
    45. background: yellow;
    46. }
    47. </style>
    48. </head>
    49. <body>
    50. <div id="center">
    51. <ul class="ul1">
    52. <li><span onclick="last()">&lt;</span></li>
    53. <li><span style="right: 0px;" onclick="add()">&gt;</span></li>
    54. </ul>
    55. <ul class="ul2">
    56. <li class="li1" style="background: yellow;"></li>
    57. <li class="li1" style="background: greenyellow;"></li>
    58. <li class="li1" style="background: greenyellow;"></li>
    59. <li class="li1" style="background: greenyellow;"></li>
    60. </ul>
    61. </div>
    62. <script src="js/jquery-3.3.1.js"></script>
    63. <script type="text/javascript">
    64. var bfr_aft = document.getElementsByClassName('li1');
    65. var scroll = document.getElementById('center');
    66. var i = 1;
    67. function add() {
    68. i += 1;
    69. if (i>4) {
    70. i = 1;
    71. }
    72. scr_img(i);
    73. }
    74. // var down = 4;
    75. function last() {
    76. i -= 1;
    77. if (i<1) {
    78. i = 4;
    79. }
    80. scr_img(i);
    81. }
    82. bfr_aft[0].onclick = function () {
    83. scr_img(1);
    84. };
    85. bfr_aft[1].onclick = function () {
    86. scr_img(2);
    87. };
    88. bfr_aft[2].onclick = function () {
    89. scr_img(3);
    90. };
    91. bfr_aft[3].onclick = function () {
    92. scr_img(4);
    93. };
    94. function scr_img(num) {
    95. switch (num) {
    96. case 1:
    97. scroll.style.background = "url('image/zql1.jpeg')";
    98. scroll.style.backgroundSize = '100% 100%';
    99. $('.li1').css({
    100. 'background-color': 'greenyellow'
    101. });
    102. $('.li1').eq(0).css({
    103. 'background-color': 'yellow'
    104. });
    105. break;
    106. case 2:
    107. scroll.style.background = "url('image/zql2.jpg')";
    108. scroll.style.backgroundSize = '100% 100%';
    109. $('.li1').css({
    110. 'background-color': 'greenyellow'
    111. });
    112. $('.li1').eq(1).css({
    113. 'background-color': 'yellow'
    114. });
    115. break;
    116. case 3:
    117. scroll.style.background = "url('image/xingye1.jpg')";
    118. scroll.style.backgroundSize = 'contain';
    119. $('.li1').css({
    120. 'background-color': 'greenyellow'
    121. });
    122. $('.li1').eq(2).css({
    123. 'background-color': 'yellow'
    124. });
    125. break;
    126. case 4:
    127. scroll.style.background = "url('image/xingye2.jpg')";
    128. scroll.style.backgroundSize = 'contain';
    129. $('.li1').css({
    130. 'background-color': 'greenyellow'
    131. });
    132. $('.li1').eq(3).css({
    133. 'background-color': 'yellow'
    134. });
    135. break;
    136. }
    137. }
    138. var timer = setInterval(
    139. 'add()',4000
    140. );
    141. </script>
    142. </body>
    143. </html>

    在这里插入图片描述

原文链接:http://www.cnblogs.com/xiaogeldx/p/10653084.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号