个人博客静态样式部署

news2024/11/23 13:47:11

首页部分

views/layout/layoutwave.vue

<script setup>
import router from '@/router';
import { ref, onMounted, onUnmounted } from 'vue'
import '@/assets/img/icons/font_p81061dps7l/iconfont.css'

const canvas = ref(null)
const canvasFa = ref(null)
const fish = ref(null)
const { innerWidth, innerHeight } = window
// 小鱼是否被点击
const blue = '#41346A'

// let isShow = 'true' 没有正确创建响应式变量
const isShow = ref(true)
// 六个盒子的
const boxShow = ref(false) 
let singleRemove = false

// 绘制波浪图
onMounted(() => {
  // 绘制曲线
  if (canvas.value) {
    // 在初次进入页面的时候要有一个初始的曲线
    canvasSize()
    addListen()
  }
})

onUnmounted(() => {
  removeListen()
})

// 设置画布大小
function canvasSize() {
  const canvasWidth = canvasFa.value.clientWidth
  const canvasHeight = canvasFa.value.clientHeight

  canvas.value.width = canvasWidth
  canvas.value.height = canvasHeight

  let xOffset = 0
  let speed = 0.1
  requestAnimationFrame(() => draw(canvasWidth, canvasHeight, xOffset, speed))
}

// 每帧
function draw(canvasWidth, canvasHeight, xOffset, speed) {
  const ctx = canvas.value.getContext('2d')
  ctx.strokeStyle = blue
  // 清除上一帧的图形
  ctx.clearRect(0, 0, canvasWidth, canvasHeight)

  // 图形重绘
  drawSin(ctx, xOffset, canvasWidth, canvasHeight)
  // 递归调用 -> 等到下一帧进行重绘
  xOffset += speed
  requestAnimationFrame(() => draw(canvasWidth, canvasHeight, xOffset, speed))
}

// 正弦
function drawSin(ctx, xOffset, canvasWidth, canvasHeight) {
  const points = []
  const startX = 0
  const waveHeight = 80
  const cycles = 4 // 四个周期
  const waveWidth = (2 * Math.PI) / (canvasWidth / cycles) // 计算每个周期的宽度

  ctx.beginPath()
  for (let x = startX; x < startX + canvasWidth; x += 20 / canvasWidth) {
    let y = waveHeight * Math.sin(waveWidth * x + xOffset)
    y += canvasHeight / 6
    points.push([x, y])
    ctx.lineTo(x, y)
  }
  // 封闭路径
  ctx.lineTo(canvasWidth, canvasHeight)
  ctx.lineTo(startX, canvasHeight)
  ctx.closePath()
  ctx.fillStyle = blue
  ctx.fill()
  ctx.stroke()
}

// 获取卷去的高度
function handleScroll() {
  const scrollTop = document.documentElement.scrollTop
  // console.log(profile.value.offsetHeight , canvasFa.value.offsetHeight); 这里使用offsetHeight可以但height不可以
  // 以及当我改变页面大小,这回重新调用handleScroll函数,打印对应页面大小的元素的宽高
  if (scrollTop >= canvasFa.value.clientTop + canvasFa.value.offsetHeight) {
    isShow.value = false
    console.log(isShow);
    // 这里我如果想要false之后不再侦听scroll怎么办
    removeListen()
  }
}

// 添加事件监听函数
function addListen() {
  if (!singleRemove) {
    window.addEventListener('resize', canvasSize)
    // 卷的高度
    window.addEventListener('scroll', handleScroll)
    singleRemove = true
  }
}

// 移除事件函数
function removeListen() {
  if (singleRemove) {
    window.removeEventListener('resize', canvasSize)
    window.removeEventListener('scroll', handleScroll)
    singleRemove = false
  }
}

// 页面下滑按钮小鱼
function fishDown() {

  fish.value.style.transform = 'rotateX(180deg)'
  console.log(innerHeight, innerWidth);
  window.scrollTo(0, document.documentElement.scrollHeight)
  // window.scrollTo({top: document.documentElement.scrollHeight, behavior: 'smooth'})

  // 到达底部,盒子动画
  boxShow.value = true
}
</script>

<template>
  <!-- 波浪 -->
   <div class="head-wavefish">
    <div ref="canvasFa" class="header" v-if="isShow">
      <canvas ref="canvas"></canvas>
    </div>
    <div class="tip" v-if="isShow"><B>点 击 翻 转 小 鱼&nbsp;</B>
      <i class="iconfont icon-yewu_yu" style="font-size: 2.8333rem;" @click="fishDown" ref="fish"></i>
    </div>
  </div>
  <div class="intro">
    <Transition name="introBox3">
      <div class="introEvery3" ref="introEvery33" v-if="boxShow" style="background-color: #BFACDA;color: #41346A;" @click="router.push('/project')"><span>项 目</span></div>
    </Transition>

    <Transition name="introBox2">
      <div class="introEvery2" ref="introEvery22" v-if="boxShow"  style="background-color: #9179B7;"  @click="router.push('/article')"><span>文 章</span></div>
    </Transition>

    <Transition name="introBox1">
      <div class="introEvery1" ref="introEvery11" v-if="boxShow">3</div>
    </Transition>

    <Transition name="introBox1">
    <div class="introEvery1" ref="introEvery1" v-if="boxShow">4</div>
    </Transition>

    <Transition name="introBox2">
      <div class="introEvery2" ref="introEvery2" v-if="boxShow" style="background-color: #9179B7;" @click="router.push('/pigeonhole')"><span>归 档</span></div>
    </Transition>

    <Transition name="introBox3">
      <div class="introEvery3" ref="introEvery3" v-if="boxShow" style="background-color: #BFACDA;color: #41346A;" @click="router.push('/friends')"><span>友 链</span></div>
    </Transition>
  </div>
</template> 

<style scoped>

.header {
  position: relative;
  width: 100%;
  height: 30.6667rem;
  /* background-color: aqua; */
  transform: rotateZ(180deg);
}

.tip{
  display: flex;
  position: absolute;
  width: 20.6667rem;
  top: 18.3333rem;
  left: 50%;
  font-size: 1.9333rem;
  color: rgba(254, 254, 254, 0.573);
  transform: translateX(-50%);
  transition:all 0.4s;
  border-radius: 20px;
  align-items: center;
  justify-content: center;

  .icon-yewu_yu{
    display: inline-block;
    transition:all 0.4s;
  }

  &:hover{
    color: rgba(255, 255, 255, 0.826);
    box-shadow: .3333rem .2333rem .7667rem .1033rem white;

  }
}

/* 上滑主体部分 */
.intro {
  display: flex;
  height: 52.6667rem;
  justify-content: space-between;
  align-items: flex-end;

  [class^="introEvery"] {
    width: 12.6667rem;
    height: 8.6667rem;
    background-color: #41346A;
    margin-right: .08rem;
    border-radius: 1.1333rem;
    display: flex;
    justify-content: center;
    align-items: center;
    /* opacity: 0; */
    font-size: 1.2667rem;
    color: rgb(215,206,249);

    &:hover{
      cursor: pointer;
      &:nth-child(-n+3){
        box-shadow: -.6333rem .8333rem .7667rem .1033rem rgba(255, 255, 255, 0.571);
      }
      &:nth-last-child(-n+3){
        box-shadow: .6333rem .8333rem .7667rem .1033rem rgba(255, 255, 255, 0.571);
      }
      /* border: .1333rem solid #8b41e6e0; */
    }
  }

  .introEvery1{
    margin: 0 .8667rem;
    transform: translateY(-26.6667rem) scale(1);
  }

  .introEvery2{
    transform: translateY(-14.6667rem) scale(1);
  }
  
  .introEvery3{
    transform: translateY(-2.6667rem) scale(1);
    margin: 0 1.333rem;
  }
}

@keyframes up {
  0%{
    transform: translateY(0) scale(0.5);
    opacity: 0;
  }
  100%{
    transform: translateY(-26.6667rem) scale(1);
    opacity: 1;
  }
}

@keyframes up2 {
  0%{
    transform: translateY(0) scale(0.5);
    opacity: 0;
  }
  100%{
    transform: translateY(-14.6667rem) scale(1);
    opacity: 1;
  }
}

@keyframes up3 {
  0%{
    transform: translateY(0) scale(0.5);
    opacity: 0;
  }
  100%{
    transform: translateY(-2.6667rem) scale(1);
    opacity: 1;
  }
}

.introBox1-enter-active{
  animation: up 1.7s;
}

.introBox2-enter-active{
  animation: up2 1.7s;
}

.introBox3-enter-active{
  animation: up3 1.6s;
}
</style>

文章页面

<script setup>
import { ref} from 'vue'
// import axios from 'axios'
import baseNavigation from '@/components/baseNavigation.vue';
import '@/assets/img/icons/font_a32wm011gk/iconfont.css'
// document.querySelector('html').setAttribute('style', 'height: 100%;')
document.querySelector('html').style.height = '100%'
document.querySelector('body').style.height = '100%'
document.querySelector('.profile').setAttribute('style','background-color: #171717;')
document.getElementById('app').setAttribute('style', 'height:100%;display: flex;flex-direction: column;')

const contentTypeShow = ref(false)
</script>

<template>
  <baseNavigation>
    <template #type-list>
      <h2 class="type-title">栏目</h2>
      <ul class="type-all">
        <!-- 这里是否可以包装成数据动态渲染呢 -->
        <li @click="contentTypeShow = !contentTypeShow">前端</li>
        <li @click="contentTypeShow = !contentTypeShow">请期待</li>
        <li @click="contentTypeShow = !contentTypeShow">请期待</li>
        <li @click="contentTypeShow = !contentTypeShow">请期待</li>
        <li @click="contentTypeShow = !contentTypeShow">请期待</li>
        <li @click="contentTypeShow = !contentTypeShow">请期待</li>
        <li @click="contentTypeShow = !contentTypeShow">请期待</li>
      </ul>
    </template>
    <template #type-every>
      <div class="type-every" v-show="contentTypeShow">
      <ul class="type-every-content">
        <!-- 这里是佛瑞根据数据的不同渲染出不同的效果 -->
         <!-- 超过多少个出现下滑 -->
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
        <li>vue</li>
      </ul>
      <div class="moveDown">
        <i class="iconfont icon-xialia-jiantou"></i>
      </div>
    </div>
    </template>
    <template #router-content>
      <div class="article-content">
        <div class="content1 contentBoxShow">
          <div class="box-wape">
            <span class="postTime" style="font-size: .6667rem;color: rgba(215, 206, 249, 0.589);">2024</span>
            <h3 style="margin: .1rem 0;">标题</h3>
            <span class="briefContent">哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</span>
          </div>
        </div>
                
        <div class="content1 contentBoxShow">
          <div class="box-wape">
            <span class="postTime" style="font-size: .6667rem;color: rgba(215, 206, 249, 0.589);">2024</span>
            <h3 style="margin: .1rem 0;">标题</h3>
            <span class="briefContent">哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</span>
          </div>
        </div>
                
        <div class="content1 contentBoxShow">
          <div class="box-wape">
            <span class="postTime" style="font-size: .6667rem;color: rgba(215, 206, 249, 0.589);">2024</span>
            <h3 style="margin: .1rem 0;">标题</h3>
            <span class="briefContent">哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊啊哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼吼哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</span>
          </div>
        </div>
      </div>
    </template>
    
  </baseNavigation>
</template>

<style scoped lang="less">
.type-title{
  flex: 1;
  color: rgb(220, 214, 240);
  /* margin-top: 20px; */
}
.type-all{
  flex: 7;
  display: flex;
  flex-direction: column;    

  li{
    cursor: pointer;
    flex: 1;
  }
}

.type-every{
  flex: 0.8;
  height: 100%;
  background: #171717;
  display: flex;
  flex-direction: column;
  /* align-items: space; */
  justify-content: space-between;
  .type-every-content{
    flex-grow: 1;
    display: flex;
    /* justify-content: center; */
    flex-direction: column;
    justify-content: space-around;
    align-items: center; 
  }

.moveDown{
  display: flex;
  justify-content: center;
  padding-bottom: .1067rem;
  .iconfont{
    font-size: 1.2rem;
    &:hover{
    color: white;
  }
  }
  
}
}
.article-content{
  height: 100%;
  flex: 6;
  background: linear-gradient(to right, #3d3264 5%, #bf9bd954);
  border-top-left-radius: 150px;
  display: flex; 
  flex-wrap: wrap; 
  overflow: auto;

  [class^="content"]{
    width: 50%;
    height: 11rem;
    display: flex;
    align-items: center;

    .box-wape{
      position: relative;
      z-index: 9;
      width: 100%;
      height: 8.3333rem;
      margin-right:1.5333rem;
      background: linear-gradient(to top left, #ffffff4d,#bf9bd909, #bf9bd900);
      border-bottom-right-radius: 3.6667rem;
      font-size: .75rem;
      /* padding-left: 1.2333rem; */
      padding: .4333rem 2.2333rem 0;

      .briefContent{
        color: rgba(215, 206, 249, 0.589);
        overflow: hidden;
        text-overflow: ellipsis;
        /* 以下代码有兼容性问题 */
        /*弹性伸缩盒子模型显示*/
        display: -webkit-box;
        /*限制在一个块元素显示的文本的行数*/
        -webkit-line-clamp: 4;
        /*设置或检索伸缩盒对象的子元索的排列方式*/
        -webkit-box-orient: vertical;
      }
   }
 }

  /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
  &::-webkit-scrollbar
  {
    width: 16px;
    height: 10px;
    /* background: linear-gradient(to top, #3d3264 5%, #bf9bd954); */
    background-color: transparent;
  }
  
  /*定义滑块 内阴影+圆角*/
  &::-webkit-scrollbar-thumb
  {
    width: 10px;
    background-color: #171717;
  }
}

</style>

友链页面

<script setup>
import baseNavigation from '@/components/baseNavigation.vue';
import friendsNavigation from './components/friendsNavigation.vue';
</script>

<template>
  <baseNavigation>
    <template #type-list></template>
    <template #router-content>
      <div class="friends-content">
        <friendsNavigation>
          <template #title-name>
            X U P T
          </template>
        </friendsNavigation>
        <friendsNavigation>
          <template #title-name>
            Internet
          </template>
        </friendsNavigation>
      </div>
    </template>
  </baseNavigation>
</template>

<style scoped lang="less">
.friends-content{
  height: 100%;
  background: linear-gradient(to right, #3d3264 5%, #bf9bd954);
  border-top-left-radius: 150px;
  overflow: auto;
  &::-webkit-scrollbar{
    width: 16px;
    height: 10px;
    background-color: transparent;
  }
}
</style>

归档页面

<script setup>
import baseNavigation from '@/components/baseNavigation.vue';
import yearPigeonhole from './components/yearPigeonhole.vue';
</script>

<template>
  <baseNavigation>
    <template #router-content>
      <div class="pigeonhole-content">
        <yearPigeonhole>
          <template #pigeYear>2024</template>
        </yearPigeonhole>
        <yearPigeonhole>
          <template #pigeYear>2023</template>
        </yearPigeonhole>
        <yearPigeonhole>
          <template #pigeYear>2022</template>
        </yearPigeonhole>
      </div>
    </template>
  </baseNavigation>
</template>

<style scoped>
.pigeonhole-content{
  height: 100%;
  background: linear-gradient(to right, #3d3264 5%, #bf9bd954);
  border-top-left-radius: 150px;
  overflow: auto;
  /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
  &::-webkit-scrollbar
  {
    width: 16px;
    height: 10px;
    /* background: linear-gradient(to top, #3d3264 5%, #bf9bd954); */
    background-color: transparent;
  }
  
  /*定义滑块 内阴影+圆角*/
  &::-webkit-scrollbar-thumb
  {
    width: 10px;
    /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); */
    background-color: #171717;
  }
}
</style>

博客上线链接

目前路由配置有问题刚进去不是首页,点击一下其他功能才正常但到不了首页

 三元Blog

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

综合文化信息管理系统|基于java和小程序的综合文化信息管理系统设计与实现(源码+数据库+文档)

综合文化信息管理系统 目录 基于java和小程序的打印室预约系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&…

渗透测试(socket,namp,scapy)

socket:可以用来实现不同虚拟机或者不同计算机之间的通信。 socket常用函数&#xff1a; sock.bind(host,port) //host可接受client范围&#xff0c;以及连接的端口 sock.listen()//sever开启监听连接 sock.accpet()//返回 sock&#xff0c;addr 用来接受和发送数据 addr…

leetcode刷题记录(二十六)——151. 反转字符串中的单词

&#xff08;一&#xff09;问题描述 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/reverse-words-in-a-string/desc…

python中常见的8种数据结构之一数组的应用

在Python中&#xff0c;数组是一种常见的数据结构&#xff0c;用于存储一系列相同类型的元素。在实际应用中&#xff0c;数组可以用于解决各种问题。 以下是数组在Python中的一些常见应用&#xff1a; 1. 存储和访问数据&#xff1a;数组可以用于存储和访问一组数据。可以通过…

JS禁用鼠标滚动条功能且滚动条不消失教程

这个JS功能我找了好久好久才找到的&#xff0c;希望能够帮助到大家&#xff0c;网上有很多教程虽然能够实现禁用滚动条的效果&#xff0c;但是滚动条却直接消失不见了&#xff0c;那么今天我就把禁用滚动条但滚动条不消失的JS代码分享给大家。 实例代码如下&#xff1a; JS禁用…

学习虚幻C++开发日志——定时器

官方文档&#xff1a;虚幻引擎中的Gameplay定时器 | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community 定时器 安排在经过一定延迟或一段时间结束后要执行的操作。例如&#xff0c;您可能希望玩家在获取某个能力提升道具后变得无懈可击&#xff0c;…

记录Postman接口测试,配置token为全局变量,配置测试环境

软件测试资料领取&#xff1a;[内部资源] 想拿年薪40W的软件测试人员&#xff0c;这份资料必须领取~ 软件测试面试刷题工具&#xff1a;软件测试面试刷题【800道面试题答案免费刷】 为什么要进行接口测试&#xff1a; 因为不同端&#xff08;前段&#xff0c;后端&#xff0…

单臂路由技术,eNSP实验讲解

单臂路由技术&#xff0c;eNSP实验讲解 一、简要介绍1、概念2、工作原理3、优点4、缺点5、应用场景举例 二、eNSP仿真实验1、步骤一&#xff1a;2、步骤二&#xff1a;3、步骤三&#xff1a;4、步骤四&#xff1a; 三、总结。 一、简要介绍 1、概念 单臂路由&#xff08;Rout…

数据库SQL——什么是实体-联系模型(E-R模型)?

目录 什么是实体-联系模型&#xff1f; 1.实体集 2.联系集 3.映射基数 一对一&#xff08;1:1&#xff09; 一对多&#xff08;1:n&#xff09; 多对一&#xff08;n:1&#xff09; 多对多&#xff08;m:n&#xff09; 全部参与&#xff1a; 4.主码 弱实体集&#xf…

WPS Office手机去广高级版

工具介绍功能特点 WPS Office是使用人数最多的移动办公软件&#xff0c;独有手机阅读模式&#xff0c;字体清晰翻页流畅&#xff1b;完美支持文字&#xff0c;表格&#xff0c;演示&#xff0c;PDF等51种文档格式&#xff1b;新版本具有海量精美模版及高级功能 安装环境 [名称…

【微服务】Docker 容器化

一、初识Docker 1. 为什么需要 Docker 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会遇到一些问题&#xff1a; 依赖关系复杂&#xff0c;容易出现兼容性的问题开发、测试、生产环境有差异 Docker 如何解决依赖的兼容问题 将应用的Libs&#xff08;…

Yocto 项目下通过网络更新内核、设备树及模块

Yocto 项目下通过网络更新内核、设备树及模块 前言 在 Yocto 项目的开发过程中&#xff0c;特别是在进行 BSP&#xff08;Board Support Package&#xff09;开发时&#xff0c;经常需要调整特定软件包的版本&#xff0c;修改内核、设备树以及内核模块。然而&#xff0c;每次…

EasyExcel级联下拉

代码 package com.xc.excel.select;import com.alibaba.excel.EasyExcel; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream; import java.i…

密码学知识点整理二:常见的加密算法

常用的加密算法包括对称加密算法、非对称加密算法和散列算法。 对称加密算法 AES&#xff1a;高级加密标准&#xff0c;是目前使用最广泛的对称加密算法之一&#xff0c;支持多种密钥长度&#xff08;128位、192位、256位&#xff09;&#xff0c;安全性高&#xff0c;加密效率…

excel功能

统计excel中每个名字出现的次数 在Excel中统计每个名字出现的次数&#xff0c;您可以使用COUNTIF函数或数据透视表。以下是两种方法的详细步骤&#xff1a; 方法一&#xff1a;使用COUNTIF函数 准备数据&#xff1a;确保您的姓名列表位于一个连续的单元格区域&#xff0c;例如…

题目练习之二叉树那些事儿

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…

绘制3D图

一个 3D 函数的表面图&#xff0c;其中包含向量场。 Python 代码示例&#xff0c;使用 matplotlib 和 numpy 库来绘制类似的图。 python 复制代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D# 生成网格 x np.linspace(-…

2024 网鼎杯 - 青龙组 Web WP

2024 网鼎杯 - 青龙组 WEB - 02 打开容器一个登录界面&#xff0c;随便输入账号密码可以进到漏洞界面 这里有一个发送给boss的功能&#xff0c;一眼xss 有三个接口&#xff1a;/flag 、/update 、/submit /flag &#xff1a;要求boss才能访问&#xff0c;/update &#xf…

【Linux】 IPC 进程间通信(三)(消息队列 信号量)

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 一、消息队列 &#x1f48c;…

推荐一款Windows卸载工具:

Glary Absolute Uninstaller类似于标准的Windows添加/删除程序&#xff0c;但功能更强大。标准的添加/删除程序无法完全卸载应用程序&#xff0c;这通常会在硬盘上留下损坏的注册表项和不需要的文件。您的计算机拥有的垃圾文件越多&#xff0c;运行速度就越慢。Absolute Uninst…