JQuery知识

一、JQuery动画

jQuery提供了三组基本动画,这些动画都是标准的,有规律的效果,jQuery还提供了自定义动画功能

1、三组基本动画

显示(show)与隐藏(hide)与切换 (toggle)是一组动画

滑入(slideDown)与滑出(slideUp)与切换(slideToggle),效果与卷帘门类似

淡入(fadeIn)与淡出(fadeOut)与切换(fadeToggle) 不断改变元素的透明度来实现的

1、$obj.show([speed],[callback])

参数一:speed 可选:动画执行的时间

如果不传,就没有动画效果,如果是slide和fade系列,会默认为normal

毫秒值(比如1000),动画在1000ms执行完毕

固定字符串,slow(600ms),normal(400ms)、fast(200ms),如果传入其他字符串,默认是normal

参数二:callback(可选) 执行完动画后执行的回调函数

2、slideDown()/slideUp()/slideToggle()

3、fadeIn()/fadeOut()/fadeToggle() /fadeTo('时间','透明度')

2、自定义动画

animate:自定义动画 本质 : 在指定时间内不断改变元素样式值来实现的

$(selector).animate({parmas},[speed],[easing],[callback]);

参数一:{parmas}:要执行动画的css属性(必选),可以写多个属性

参数二:speed:执行动画时长(可选)

参数三:easing:执行效果,默认为swing(缓动) 可以是linear(匀速)(可选)

参数四:callback:动画执行完后立即执行的回调函数(可选)

3、动画队列与停止动画

在同一个元素上执行多个动画,那么对于这个动画来说,后面的动画会被放到动画队列中,等前面的动画执行完成后,才会执行下一个动画

stop方法:停止动画效果

stop(clearQueue,jumpToEnd)

参数一:是否清除队列

参数二:是否跳转到最终效果

 <script>
      $(function () {
        //   模拟动画队列
        $("#btn01").click(function () {
          $("div").slideDown(2000).slideUp(2000);
        });
        // 停止动画
        $("#btn02").click(function () {
        //   $("div").stop();
        //   $("div").stop(false,false);
        //   $("div").stop(true, false);
        //   $("div").stop(true, true);
        //   $("div").stop(false, true);
        });
      });
    </script>

总结: 每次使用动画之前,先调用 stop() ,在调用动画。

二、jQuery节点操作

1、创建结点

1>、html() 设置或获取内容

(1)、不传参,就是获取到对应元素的所有内容

(2)、传参,设置内容,会把原来的内容覆盖,

如果设置的内容中,有标签,会把标签给解析出来

$("#btn01").click(function () {
          // var val=$('#box').html()
          //console.log(val);
          $("#box").html("我是html设置的内容<h1>百度</h1>");
        });

2>、$() 能创建元素,但创建的元素只存在于内存中,如果需要在页面中显示,需要追加

$("#btn02").click(function () {
            // 创建结点
            var $h1=$('<h1>标题</h1>')
           // console.log($h1);
            //追加节点
            $("#box").append($h1)
        });

案例:添加表格

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>添加表格</title>
    <style>
      table {
        border-spacing: 0;
      }
    </style>
    <script src="./js/jQuery.js"></script>
  </head>
  <body>
    <button id="btn01">获取数据</button>
    <br /><br />
    <table border="1px">
      <thead>
        <tr>
          <th>序号</th>
          <th>姓名</th>
          <th>性别</th>
          <th>住址</th>
        </tr>
      </thead>
      <tbody id="tbody">
        <!-- <tr>
          <td>01</td>
          <td>孙悟空</td>
          <td>男</td>
          <td>花果山</td>
        </tr> -->
      </tbody>
    </table>
    <script>
      $(function () {
        var data = [
          {
            id: 01,
            name: "孙悟空",
            sex: "男",
            address: "花果山",
          },
          {
            id: 02,
            name: "猪八戒",
            sex: "男",
            address: "高老庄",
          },
          {
            id: 03,
            name: "沙悟净",
            sex: "男",
            address: "通天河",
          },
        ];
        
        $("#btn01").click(function () {
          //第一种 html() 添加方式
          var list = [];
          for (var i = 0; i < data.length; i++) {
            //生成tr
            list.push("<tr>");
            //生成td
            for (var key in data[i]) {
              list.push("<td>");
              list.push(data[i][key]);
              list.push("</td>");
            }
            list.push("</tr>");
          }
          var listText=list.join('')
          $('#tbody').html(listText) 
          //第二种方式  $() 添加方式
        /*   for (var i = 0; i < data.length; i++) {
            var $tr = $("<tr><td>" + data[i]["id"] + "</td><td>" + data[i]["name"] + "</td><td>" + data[i]["sex"] + "</td><td>" + data[i]["address"] + "</td></tr>");
            $("#tbody").append($tr);
          } */
        });
      });
    </script>
  </body>
</html>

2、添加结点

(1)、父元素.append(子元素) 在被选元素的结尾插入内容

注意:如果把已经存在的子元素append到父元素中,则是会剪切过去作为最后一个子元素添加

$("#append").click(function () {
          var $h1 = $("<h1>一级标题</h1>");
          $("ul").append($h1);
        });

(2)、父元素.prepend() 在被选元素的开头插入内容

注意:如果把已经存在的子元素prepend到父元素中,则是会剪切过去作为第一个子元素添加

$("#prepend").click(function () {
          var $h1 = $("<h1>一级标题</h1>");
          $("ul").prepend($h1);
        });

(3)、元素A.before(元素B)把元素A插入到元素B的前面,作为兄弟元素添加

 $("#before").click(function () {
          var $h1 = $("<h1>一级标题</h1>");
          $("#oltwo").before($h1);
        });

(4)、元素A.after(元素B)把元素A插入到元素B的后面,作为兄弟元素添加

$("#after").click(function () {
          var $h1 = $("<h1>一级标题</h1>");
          $("#oltwo").after($h1);
        });

(5)、子元素.appendTo(父元素) 把子元素作为父元素的最后一个元素添加

$("#appendTo").click(function () {
          var $h1 = $("<h1>一级标题</h1>");
          $h1.appendTo("ol");
        });

(6)、 子元素.prependTo (父元素) 把子元素作为父元素的第一个元素添加

$("#prependTo").click(function () {
          var $h1 = $("<h1>一级标题</h1>");
          $h1.prependTo("ol");
        });

案例:城市选择

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>城市选择</title>
    <style>
        select {
            width: 200px;
            background-color: teal;
            height: 200px;
            font-size: 20px;
        }
        .btn-box {
            width: 30px;
            display: inline-block;
            vertical-align: top;
        }
    </style>
<body>
<h1>城市选择:</h1>
<select id="src-city" name="src-city" multiple>
    <option value="1">北京</option>
    <option value="2">上海</option>
    <option value="3">深圳</option>
    <option value="4">广州</option>
    <option value="5">西红柿</option>
</select>
<div class="btn-box">
    <!--实体字符-->
    <button id="btn-sel-all"> &gt;&gt; </button>
    <button id="btn-sel-none"> &lt;&lt; </button>
    <button id="btn-sel"> &gt;</button>
    <button id="btn-back"> &lt; </button>
</div>
<select id="tar-city" name="tar-city" multiple></select>
 </body>
</html>
<script src="./js/jQuery.js"></script>
<script>
  $(function () {
    //1.全部到右边
    //找到左边select下拉菜单的所有option项,把这些option项都添加到右边的select下拉菜单中去.
    $('#btn-sel-all').click(function () {
      $('#src-city>option').appendTo($('#tar-city'));
    });

    //2.全部到左边
    //找到右边select下拉菜单中的所有option项,把这些option项都添加到左边的select下拉菜单中去.
    $('#btn-sel-none').click(function () {
      $('#tar-city>option').appendTo($('#src-city'));
    });

    //3.选中的到右边.
    //找到左边select下拉菜单中,被选中的option项, 把这些option项添加到右边的select下拉菜单中.
    $('#btn-sel').click(function () {
      $('#src-city>option:selected').appendTo($('#tar-city'));
    });
    
    //4.选中的到左边.
    //找到右边select下拉菜单中,被选中的option项,把这些option项添加到左边的select下拉菜单中.
    $('#btn-back').click(function () {
      $('#tar-city>option:selected').appendTo($('#src-city'));
    });
  });
</script>

3、清空结点与删除结点

empty:清空指定节点的所有元素,自身保留(清理门户)

remove:相对于empty,自身也会删除(自杀)

$('div').empty();//清除div的所有内容(推荐使用,会清除子元素上绑定的内容,源码)
$('div').html('')//使用html方法来清空元素,不推荐使用,会造成内存泄漏,绑定的事件不会被清除
$("#l2").remove();//自杀 移除某一个元素

4、克隆结点

clone() 克隆节点 只存在与内存中,如果要在页面上显示,就应该添加到页面上

clone(参数) 参数是布尔值 true false,默认是false

true: 表示会把事件一起克隆

false:就不会克隆事件

 $("#btn01").click(function () {
          //克隆h1
          var $h1 = $("h1").clone();
          //把克隆h1放到body中
          $("body").append($h1);
        });

5、val()获取表单元素内容

val()

不给参数,获取表单的内容

给参数,就是设置表单的内容

  $("#inp1").click(function () {
        //   var text = $("#usename").val();
         $("#usename").val('hello world');
        //   console.log(text);
        });

三、jQuery操作属性

1、attr()、removeAttr()

(1)、attr() 设置属性 ,可以添加单属性,也可以添加多属性,传入{}参数即可

参数1:需要设置的属性

参数2:设置属性的值

 $("#btn02").click(function () {
          //1.1 可以更改原有的属性
          //$('img').attr('src','./img/pic_02.jpg');
          //1.2 可以更改自定义属性
          //$('img').attr('aaa','AAA');
          //1.3 如果元素原来没有这个属性,那就是添加属性
          //$('img').attr('bbb','BBB')
          $("img").attr({
            src: "./img/pic_02.jpg",
            aaa: "AAA",
            bbb: "BBB",
          });
        });

(2)、获取属性 attr(属性名) 可以获取原有属性值,自定义属性值,

如果是未定义的属性,则获得undefined

 $("#btn01").click(function () {
          var val = $("img").attr("src");
          console.log(val);
        });

(3)、移除属性 removeAttr(属性名) 也可以移除多个属性,removeAttr('属性名1 属性名2')

 $("#btn03").click(function () {
          //   $("img").removeAttr('aaa');
          $("img").removeAttr('title aaa');
        });

案例:动物相册

<!DOCTYPE html>
<html>
  <head lang="en">
    <meta charset="UTF-8" />
    <title>动物相册</title>
    <style type="text/css">
      body {
        font-family: "Helvetica", "Arial", serif;
        color: #333;
        background-color: #ccc;
        margin: 1em 10%;
      }
      h1 {
        color: #333;
        background-color: transparent;
      }
      a {
        color: #c60;
        background-color: transparent;
        font-weight: bold;
        text-decoration: none;
      }
      ul {
        padding: 0;
      }
      li {
        float: left;
        padding: 1em;
        list-style: none;
      }
      #imagegallery {
        list-style: none;
      }


      #imagegallery li {
        margin: 0px 20px 20px 0px;
        padding: 0px;
        display: inline;
      }


      #imagegallery li a img {
        border: 0;
      }
    </style>
  </head>
  <body>
    <h2>动物画廊</h2>


    <ul id="imagegallery">
      <li>
        <a href="./img/pic_01.jpg" title="小狗">
          <img src="./img/pic_01.jpg" width="100" alt="小狗" />
        </a>
      </li>
      <li>
        <a href="./img/pic_02.jpg" title="小猫">
          <img src="./img/pic_02.jpg" width="100" alt="小猫" />
        </a>
      </li>
      <li>
        <a href="./img/pic_04.jpg" title="小兔子">
          <img src="./img/pic_04.jpg" width="100" alt="小兔子" />
        </a>
      </li>
      <li>
        <a href="./img/pic_05.jpg" title="小熊">
          <img src="./img/pic_05.jpg" width="100" alt="小熊" />
        </a>
      </li>
    </ul>
    <div style="clear: both"></div>
    <img id="image" src="./img/pic_01.jpg" width="450px" />
    <p id="des">选择一个图片</p>
    <script src="./js/jQuery.js"></script>
    <script>
      $(function () {
        //1.需求
        //给小图片a标签设置一个单击事件.
        //让id为image的img标签修改src属性为当前点击的a标签的href属性的值
        //让id为des的这个p标签的文本设置为当前点击的这个a标签的title属性的值.
        $("#imagegallery>li>a").click(function () {
          //获取当前点击的a标签的href属性的值和title属性的值。
          var srcValue = $(this).attr("href");
          var contentValue = $(this).attr("title");
          // console.log(srcValue, contentValue);
          //给img标签的src属性赋值,以及给p标签的内容赋值。
          $("#image").attr("src", srcValue);
          $("#des").text(contentValue);
          //阻止默认跳转
          return false;
        });
      });
    </script>
  </body>
</html>

2、prop操作

在jQuery1.6版本之后,对于checked、selected、disabled这类boolean类型的属性来说,不能用attr方法,只能用prop方法

//设置属性

$(':checked').prop('checked',true)

//获取属性

$(':checked').prop('checked') //返回true或者false

案例:全选反选

<!DOCTYPE html>
<html>
  <head lang="en">
    <meta charset="UTF-8" />
    <title>表格全选反选</title>
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      .wrap {
        width: 300px;
        margin: 100px auto 0;
      }


      table {
        border-collapse: collapse;
        border-spacing: 0;
        border: 1px solid #c0c0c0;
      }


      th,
      td {
        border: 1px solid #d0d0d0;
        color: #404060;
        padding: 10px;
      }


      th {
        background-color: #09c;
        font: bold 16px "微软雅黑";
        color: #fff;
      }


      td {
        font: 14px "微软雅黑";
      }


      tbody tr {
        background-color: #f0f0f0;
      }


      tbody tr:hover {
        cursor: pointer;
        background-color: #fafafa;
      }
    </style>
  </head>


  <body>
    <div class="wrap">
      <table>
        <thead>
          <tr>
            <th>
              <input type="checkbox" id="j_cbAll" />
            </th>
            <th>姓名</th>
            <th>性别</th>
          </tr>
        </thead>
        <tbody id="j_tb">
          <tr>
            <td>
              <input type="checkbox" />
            </td>
            <td>唐僧</td>
            <td>男</td>
          </tr>
          <tr>
            <td>
              <input type="checkbox" />
            </td>
            <td>孙悟空</td>
            <td>男</td>
          </tr>
          <tr>
            <td>
              <input type="checkbox" />
            </td>
            <td>猪八戒</td>
            <td>男</td>
          </tr>
          <tr>
            <td>
              <input type="checkbox" />
            </td>
            <td>白骨精</td>
            <td>女</td>
          </tr>
        </tbody>
      </table>
    </div>
    <div id="one"></div>
  </body>
  <script src="./js/jQuery.js"></script>
  <script>
    $(function () {
      //需求1:上面的多选框选中,下面的多选框们跟着选中,上面的多选框没有选中,下面的多选框们跟着不选中.
      //需求2:下面的多选框们,都有单击事件:
      //如果下面的多选框们都选中了,那么上面的那个多选框跟着选中,如果下面多选框有一个没有选中,那么上面的多选框就不选中.


      //需求1:
      $("#j_cbAll").click(function () {
        //获取这多选框的checked值。
        var checkedValue = $(this).prop("checked");
        //console.log(checkedValue);
        //让下面的多选框们的checked跟随这个checkedValue
        $("#j_tb input").prop("checked", checkedValue);
      });


      //需求2:
      $("#j_tb input").click(function () {
        //第一种方式 判断下面的那四个多选框是否都被选中了。
        var numOfAll = $("#j_tb input").length; //获取到下面所有多选框的个数。
        var numOfSelect = $("#j_tb input:checked").length; //获取到下面被选中的多选框的个数。
        // console.log(numOfAll + ":" + numOfSelect);
        //判断
        // if(numOfAll == numOfSelect){
        //     //全部被选中。
        //     $('#j_cbAll').prop('checked',true);
        // }else {
        //     //有的有没选中。
        //     $('#j_cbAll').prop('checked',false);
        // }
        
        //上面这个判断优化。
        $("#j_cbAll").prop("checked", numOfAll == numOfSelect);
      });
    });
  </script>
</html>

四、jQuery尺寸和位置操作

1、width方法和heigth方法

css()方法 获取box的宽高

//1.css()方法 获取box的宽高
var cssHeight = $(".box").css("height");
var cssWidht = $(".box").css("height");
//console.log(cssHeight,cssWidht); //200px

设置或获取高度,不包括内边距、边框和外边距

//带参数  设置宽高
$('div').height(200)
//不带参数  获取宽高
$('div').height()

获取网页的可视区宽高

//获取可视区宽高
$(window).width()
//获取可视区高度
$(window).height()

2、innerWidth/innerHeight/outerWidth/outerHeight

//3、innerWidth/innerHeight 包括内边距

var innerWidth = $(".box").innerWidth();

var innerHeight = $(".box").innerHeight();

//console.log(innerWidth, innerHeight, "inner");//240



//4、outerWidth/outerHeight 包括内边距和边框

var outerWidth = $(".box").outerWidth();

var outerHeight = $(".box").outerHeight();

// console.log(outerWidth, outerHeight, "outer");//260



//5、outerWidth(true)/outerHeight(true) 包括内边距和边框和外边距

var outerWidthT = $(".box").outerWidth(true);

var outerHeightT = $(".box").outerHeight(true);

console.log(outerWidthT, outerHeightT, "outerT");//320

3、scrollTop和scrollLeft

设置或者获取垂直滚动条的位置

//获取页面被卷去的高度,如果加参数数值,可以设置被卷去的高度

$(window).scrollTop()

//获取页面被卷去的宽度,,如果加参数数值,可以设置被卷去的宽度

$(window).scrollLeft()

4、offset方法与position方法

offset方法获取元素距离document的位置

position方法获取的是元素距离有定位的父元素的位置

//获取元素距离document的位置,返回值为对象:{left:100,top:100}

$(selector).offset()

//获取相对于其最近的有定位的父元素的位置

$(selector).position()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/983937.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机三级网络技术知识点汇总【7】

第七章 路由器配置及使用 1. 路由器的基础知识 1.1 路由器的基本概念 路由器是工作在网络层的设备&#xff0c;负责将数据分组从源端主机经最佳路径传送到目的端主机&#xff0c;实现在网络层的互联。路由器工作在 TCP/IP 网络模型的网络层&#xff0c;对应于 OSI 网络参考模…

Compounding Geometric Operations for Knowledge Graph Completion(论文笔记)

CCF等级&#xff1a;A 发布时间&#xff1a;2023年7月 25年3月10日交 一、简介 使用知识图谱嵌入模型&#xff0c;将三元组&#xff08;h,r,t&#xff09;中关系 r 转化为平移、旋转、缩放矩阵对头节点以及尾节点进行运算&#xff0c;判定三元组的真实性。 二、原理 1.整…

mac系统安装

目录 准备工作 一、安装虚拟机 二、解锁系统 三、安装系统 四、部署系统 五、安装VMware Tools(选做) 为什么要安装VMware Tools,这是啥玩意? 六、配置共享文件夹(选做) 为什么要共享文件夹? 注意事项: 七、安装完成 准备工作 一、安装说明: 本教程分为7个部…

DNASimCLR:一种基于对比学习的基因序列数据分类的深度学习方法

摘要 DNASimCLR利用卷积神经网络和基于对比学习的SimCLR框架&#xff0c;从不同的微生物基因序列中提取复杂的特征。在包含宏基因组和病毒基因序列的两个经典的大规模未标记数据集上进行了预训练。后续的分类任务通过使用先前获得的模型对预训练的模型进行微调来完成。我们的实…

Ae 效果详解:VR 旋转球面

Ae菜单&#xff1a;效果/沉浸式视频/VR 旋转球面 Immersive Video/VR Rotate Sphere VR 旋转球面 VR Rotate Sphere效果用于对 VR 视频进行三轴旋转&#xff0c;以调整视频的视角方向。可用于校正拍摄时的角度偏差&#xff0c;或者根据创意需求模拟摄像机旋转。 本效果适用于所…

南开提出1Prompt1Story,无需训练,可通过单个连接提示实现一致的文本到图像生成。

&#xff08;1Prompt1Story&#xff09;是一种无训练的文本到图像生成方法&#xff0c;通过整合多个提示为一个长句子&#xff0c;并结合奇异值重加权&#xff08;SVR&#xff09;和身份保持交叉注意力&#xff08;IPCA&#xff09;技术&#xff0c;解决了生成图像中身份不一致…

Python----数据可视化(Seaborn二:绘图一)

常见方法 barplot方法 单独绘制条形图 catplot方法 可以条形图、散点图、盒图、小提亲图、等 countplot方法 统计数量 一、柱状图 seaborn.barplot(dataNone, xNone, yNone, hueNone, colorNone, paletteNone) 函数描述data用于绘图的数据集。x用于绘制长格式数据的输入。…

只音 1.2.0 |纯净无广告,畅听全网音乐,支持无损下载和批量下载

只音是一款全网音乐一网打尽的听歌利器&#xff0c;无需登录即可搜索抖音、网易云、QQ音乐等平台资源&#xff0c;无损音质直连播放。内置智能推荐算法&#xff0c;每日更新热门榜单与个性化歌单&#xff0c;轻松发现小众优质音乐。支持批量下载功能&#xff0c;一次性打包30首…

Python从入门到精通1:FastAPI

引言 在现代 Web 开发中&#xff0c;API 是前后端分离架构的核心。FastAPI 凭借其高性能、简洁的语法和自动文档生成功能&#xff0c;成为 Python 开发者的首选框架。本文将从零开始&#xff0c;详细讲解 FastAPI 的核心概念、安装配置、路由设计、请求处理以及实际应用案例&a…

Service与Ingress:如何将你的应用暴露给世界

引言&#xff1a;从“内部通讯”到“对外开放” 想象Kubernetes集群是一座繁忙的办公楼&#xff0c;每个Pod&#xff08;容器&#xff09;是楼内的员工。 Service 就像前台的接待员&#xff0c;负责将外部电话&#xff08;请求&#xff09;转接到正确的员工&#xff08;Pod&am…

【Linux学习篇】--开发工具第一期

目录 1. Linux编辑器的使用--vim使用 1.1 vim的基本概念 1.2 vim基本操作 1.3 vim正常模式&#xff08;指令模式&#xff09;命令集 1.4 vim末行模式命令集 1.5 vim配置 2. Linux编译器-gcc/g使用 2.1 背景知识 2.2 gcc如何完成 2.3 gcc选择项 1. Linux编…

Elastic:AI 会开始取代网络安全工作吗?

作者&#xff1a;来自 Elastic Joe DeFever 不会&#xff0c;但它正在从根本上改变这些工作。 生成式 AI (GenAI) 正迅速成为日常安全工作流程中的一个重要组成部分。那么&#xff0c;它是合作伙伴还是竞争对手&#xff1f; GenAI 技术在安全堆栈几乎每个方面的广泛应用&#…

Windows 11 IoT 企业版 LTSC 2025 特制适度 22635.5025

文件: Windows 11 IoT 企业版 LTSC 2025 特制适度 22635.5025 install.esd 大小: 2.57G&#xff08;2768694310 字节&#xff09; 修改时间: 2025年3月9日, 星期日, 11 : 40 : 15 MD5: BFCB23BC2F78CA9243FFA68D5DDDDFC1 SHA1: C4D8BBF8B8D8E0E8E49DE5E9CC8D7F77385A745A CRC32…

Lab18_ SQL injection with filter bypass via XML encoding

文章目录 前言&#xff1a;进入实验室构造 payload 前言&#xff1a; 实验室标题为&#xff1a; 通关 XML 编码绕过过滤器的 SQL 注入 简介&#xff1a; 此实验室的库存检查功能中存在 SQL 注入漏洞。查询结果在应用程序的响应中返回&#xff0c;因此您可以使用 UNION 攻击…

kali虚拟机登录页面发癫 大写锁定输入不了密码

不知道怎么了 总是发癫 重启切换太麻烦了 还有时候不成功 kali其实可以开启虚拟键盘 如下 就解决的 发癫kali 发癫 发癫

【汇编语言】单片机程序执行过程

一、任务需求 指示灯LED4闪烁&#xff0c;亮0.5秒&#xff0c;灭0.5秒&#xff0c;无限循环 二、针对硬件的编程 1、确定原理图2、确定硬件的物理关系 三、设计步骤 1.用自己的语言描述工作流程 1.1指示灯LED4亮1.2延时0.5秒1.3指示灯LED4灭1.4延时0.5秒1.5跳转到1.1步 …

【Linux篇】调试器-gdb/cgdb使用

&#x1f4cc; 个人主页&#xff1a; 孙同学_ &#x1f527; 文章专栏&#xff1a;Liunx &#x1f4a1; 关注我&#xff0c;分享经验&#xff0c;助你少走弯路&#xff01; 文章目录 1. 前言2.关于gdb2.1 快速认识gdb2.2 安装cgdb2.3 gdb命令2.4 调试 & 断点 3.常见技巧3.…

ThinkPhp 5 安装阿里云内容安全(绿化)

composer require alibabacloud/green-20220302 首先要把php5(不支持php7)的执行文件设置到PATH环境变量 此外还要先执行composer update php5.5和php5.6的区别 5.5认为 <? 开头的也是php文件&#xff0c;包括 <?php 5.6认为 <? 开头的不是php文件&#xff0c;只…

Level DB --- 写流程计算

写流程架构Level DB --- 写流程架构-CSDN博客已经介绍&#xff0c;写流程计算包括写日志&#xff0c;和将kv插入到memtable中。 写日志和写memtable 用户端插入的kv数据&#xff0c;既要写日志同时也要写memtable。写日志是指kv记录要同步到日志文件中&#xff1b;写memtable…

JavaWeb-servlet6中过滤器和监听器

Servlet 过滤器 Servlet 过滤器&#xff08;Filter&#xff09;与 Servlet 十分相似&#xff0c;但 Filter 具有拦截客户端请求的功能&#xff0c; Filter 可以改变请求中的内容&#xff0c;以便满足实际开发中的需要。对于程序开发人员而言&#xff0c; Filter 实质上就是 We…