JS——webAPIs(1)

一、知识点

1.随机函数

//N~M的随机数
function getRandom(N,M){
      return Math.floor(Math.random()*(M-N+1))+N
    }
//数组Arr取随机项
const random=Math.floor(Math.random()*Arr.length)

2.修改基础属性

3.修改样式属性

// 修改样式-通过style修改 多组单词采取小驼峰命名
    box.style.width='500px'
    box.style.backgroundColor='lightpink'
    //修改背景图
    const random=getRandom(1,10)
    document.body.style.backgroundImage=`url(./images/desktop_${random}.jpg)`
// 修改样式-通过类名className修改
    //可以添加类名,给div绑定了.box,覆盖原来的类名
    div.className='nav box'
// 修改样式-通过类名classList添加
    const box=document.querySelector('.box')
    //追加类
    box.classList.add('active')
    //删除类
    box.classList.remove('box')
    //切换类(有就删,没有就加上)
    box.classList.toggle('box')
    //查找是否包含类(包含则返回true,不包含返回false)
    box.classList.contains('box')
    

4.修改表单属性

 //修改表单属性
    const uname=document.querySelector('input')
    uname.value='我要买电脑'
    uname.type='password'

    const ipt=document.querySelector('input')
    ipt.checked=false //默认true,勾选

    const btn=document.querySelector('button')
    btn.disabled=true //默认false,不禁用

5.修改自定义属性

// 修改自定义属性
    const one=document.querySelector('div')
    console.log(one.dataset.id)
    console.log(one.dataset.spm)

6.定时器

    //间歇函数(函数,时间ms)
    function fn(){
      console.log('一秒执行一次')
    }
    //打开定时器,返回序号值
    let n=setInterval(fn,1000)//n=1
    let m=setInterval(fn,1000)//m=2
    //关闭定时器
    clearInterval(n)

二、综合案例

1.轮播图(刷新随机)

    // 1. 初始数据
    const sliderData = [
      { url: './images/slider01.jpg', title: '对人类来说会不会太超前了?', color: 'rgb(100, 67, 68)' },
      { url: './images/slider02.jpg', title: '开启剑与雪的黑暗传说!', color: 'rgb(43, 35, 26)' },
      { url: './images/slider03.jpg', title: '真正的jo厨出现了!', color: 'rgb(36, 31, 33)' },
      { url: './images/slider04.jpg', title: '李玉刚:让世界通过B站看到东方大国文化', color: 'rgb(139, 98, 66)' },
      { url: './images/slider05.jpg', title: '快来分享你的寒假日常吧~', color: 'rgb(67, 90, 92)' },
      { url: './images/slider06.jpg', title: '哔哩哔哩小年YEAH', color: 'rgb(166, 131, 143)' },
      { url: './images/slider07.jpg', title: '一站式解决你的电脑配置问题!!!', color: 'rgb(53, 29, 25)' },
      { url: './images/slider08.jpg', title: '谁不想和小猫咪贴贴呢!', color: 'rgb(99, 72, 114)' },
    ]
    // 2. 获取随机对象
    const random=parseInt(Math.random()*sliderData.length)
    // 3. 把对应数据渲染到标签里
    const img=document.querySelector('.slider-wrapper img')
    img.src=sliderData[random].url
    const p=document.querySelector('.slider-footer p')
    p.innerHTML=sliderData[random].title
    const footer=document.querySelector('.slider-footer')
    footer.style.backgroundColor=sliderData[random].color
    // 4. 小圆点变换
    const li=document.querySelector(`.slider-indicator li:nth-child(${random + 1})`)
    li.classList.add('active')

 2.轮播图定时器版(自动遍历)

    // 1. 初始数据
    const sliderData = [
      { url: './images/slider01.jpg', title: '对人类来说会不会太超前了?', color: 'rgb(100, 67, 68)' },
      { url: './images/slider02.jpg', title: '开启剑与雪的黑暗传说!', color: 'rgb(43, 35, 26)' },
      { url: './images/slider03.jpg', title: '真正的jo厨出现了!', color: 'rgb(36, 31, 33)' },
      { url: './images/slider04.jpg', title: '李玉刚:让世界通过B站看到东方大国文化', color: 'rgb(139, 98, 66)' },
      { url: './images/slider05.jpg', title: '快来分享你的寒假日常吧~', color: 'rgb(67, 90, 92)' },
      { url: './images/slider06.jpg', title: '哔哩哔哩小年YEAH', color: 'rgb(166, 131, 143)' },
      { url: './images/slider07.jpg', title: '一站式解决你的电脑配置问题!!!', color: 'rgb(53, 29, 25)' },
      { url: './images/slider08.jpg', title: '谁不想和小猫咪贴贴呢!', color: 'rgb(99, 72, 114)' },
    ]
    // 2. 获取元素
    let i = 0
    const img=document.querySelector('.slider-wrapper img')
    const p=document.querySelector('.slider-footer p')
    const footer=document.querySelector('.slider-footer')
    // 3. 开启定时器
    let n = setInterval(function() {
      i++
      // 无缝衔接位置
      if (i >= sliderData.length){
        i = 0
      }
      img.src=sliderData[i].url
      p.innerHTML=sliderData[i].title
      footer.style.backgroundColor=sliderData[i].color
      // 先删除以前带active类名的li
      document.querySelector('.slider-indicator .active').classList.remove('active')
      // 只让当前li加active
      document.querySelector(`.slider-indicator li:nth-child(${i + 1})`).classList.add('active')
    }, 1000)

3.抽奖

    const personArr=['zjl','ldh','zxc','pink','zxy']
    //一等奖
    const random1=Math.floor(Math.random()*personArr.length)
    const one=document.querySelector('#one')
    one.innerHTML=personArr[random1]
    personArr.splice(random1,1)//删除当前
    //二等奖
    const random2=Math.floor(Math.random()*personArr.length)
    const two=document.querySelector('#two')
    two.innerHTML=personArr[random2]
    personArr.splice(random2,1)//删除当前
    //三等奖
    const random3=Math.floor(Math.random()*personArr.length)
    const three=document.querySelector('#three')
    three.innerHTML=personArr[random3]
    personArr.splice(random3,1)//删除当前

4.注册倒计时

const btn=document.querySelector('.btn')
        let i = 5
        let n = setInterval(function(){
            i--
            btn.innerHTML=`我已经阅读用户协议(${i}s)`
            if(i === 0){
                clearInterval(n)
                btn.disabled=false
                btn.innerHTML='同意'
            }
        },1000)
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
设计一个webapis学生报名系统的代码步骤如下: 1. 数据库设计:首先确定需要存储的数据,例如学生的基本信息,课程信息等。根据需求设计数据库表结构,并创建相应的表。 2. 后端接口设计:根据系统需求,设计后端接口,包括学生信息的录入、查询、修改和删除等功能。使用合适的编程语言,如Java、Python等,实现这些接口。 3. 前端界面设计:设计一个用户友好的前端界面,包括学生报名表单和查询功能。使用HTML、CSS、JavaScript等技术实现界面的布局和交互,确保用户能够方便地输入和查询信息。 4. 前后端交互:通过AJAX或其他技术,实现前后端的数据交互。前端向后端发送请求,后端处理请求并返回相应的数据。 5. 学生信息录入:在前端界面设计好的报名表单中,用户输入个人信息,通过调用后端接口将数据传递到后台。后台接收并验证输入的数据,并将学生信息存储到数据库中。 6. 学生信息查询:在前端界面设计好的查询功能中,用户输入需要查询的条件,通过调用后端接口将查询条件传递到后台。后台根据查询条件在数据库中查找匹配的学生信息,并将查询结果返回给前端。 7. 学生信息修改和删除:在前端界面设计好的修改和删除功能中,用户选择需要修改或删除的学生信息,并通过调用后端接口将相应的操作请求传递到后台。后台根据请求进行相应的操作,更新或删除数据库中的对应数据。 8. 错误处理和数据校验:在整个系统设计过程中,需要考虑错误处理和数据校验。在后端接口中,对输入的数据进行合法性检查,确保输入的数据符合要求。在前端界面中,对用户的输入进行格式验证,及时反馈给用户。 9. 安全性保障:为了保障系统的安全性,可以采用身份认证、权限控制等机制,确保只有授权的用户能够进行报名和查询等操作。 10. 测试和部署:在完成系统开发后,进行系统的测试和调试。确保系统的正确性和稳定性。最后将系统部署到服务器上,供用户使用。 以上是一个简单的webapis学生报名系统代码步骤,具体实现还需要根据具体需求进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值