js题目12

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .whole{
      width: 500px;
      height: 500px;
      margin: 0 auto;
      position: relative;
    }
    .left,.right{
      width: 20px;
      height: 20px;
      font-size: 20px;
      position: absolute;
      top: 230px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #e7e6e6;
      cursor: pointer;
      display: none;
    }
    .left{
      left: 0;
    }
    .right{
      right: 0;
    }
    img{
      width: 500px;
      height: 480px;
    }
    .bottom{
      width: 500px;
      height: 30px;
      background-color: #e7e6e6;
      position: absolute;
      bottom: 0;
      display: flex;
      justify-content: center;
    }
    .it{
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #565656;
      margin: 10px;
      opacity: 0.5;
    }
    .hl{
      background-color: red;
    }
  </style>
</head>
<body>
  <div class="whole">
    <div class="left">&lt;</div>
    <div class="right">&gt;</div>
    <div class="content">
      <div class="item">
        <img src="./static/300 1.webp" alt="" title="orange">
      </div>
    </div>
    <div class="bottom">
      <div class="it hl"></div>
      <div class="it"></div>
      <div class="it"></div>
      <div class="it"></div>
      <div class="it"></div>
    </div>
  </div>
  <script>
    const data=[
      { url:'./static/300 1.webp',title:'orange'},
      { url:'./static/300 2.webp',title:'car'},
      { url:'./static/300 3.webp',title:'colorful'},
      { url:'./static/300 4.webp',title:'girl'},
      { url:'./static/300 5.webp',title:'carton'},
    ]
    const img=document.querySelector('.item img')
    const right=document.querySelector('.right')
    let i=0
    right.addEventListener('click',function(){
      i++
      if(i>=data.length){
        i=0
      }
      img.src=data[i].url
      img.title=data[i].title
      document.querySelector('.hl').classList.remove('hl')
      document.querySelector(`.it:nth-child(${i+1})`).classList.add('hl')
    })
    const left=document.querySelector('.left')
    left.addEventListener('click',function(){
      i--
      if(i<0){
        i=data.length-1
      }
      img.src=data[i].url
      img.title=data[i].title
      document.querySelector('.hl').classList.remove('hl')
      document.querySelector(`.it:nth-child(${i+1})`).classList.add('hl')
    })
    let time=setInterval(function(){
      right.click()
    },1000)
    const whole=document.querySelector('.whole')
    whole.addEventListener('mouseenter',function(){
      clearInterval(time)
      right.style.display='block'
      left.style.display='block'
    })
    whole.addEventListener('mouseleave',function(){
      time=setInterval(function(){
      right.click()
    },1000)
    right.style.display='none'
    left.style.display='none'
    })
    const its=document.querySelectorAll('.it')
    for(let i=0;i<its.length;i++){
      its[i].addEventListener('mouseenter',function(){
        document.querySelector('.hl').classList.remove('hl')
        this.classList.add('hl')
        img.src=data[i].url
        img.title=data[i].title
      })
    }
  </script>
</body>
</html>

屏幕录制 2025-01-24 192948

### 关于JavaScript练习题和考试题目 #### 对象基本操作 对于希望加深理解JavaScript中对象基本概念的学习者来说,有如下几个练习可以帮助掌握创建、访问以及修改对象属性的方法: - **创建一个对象** 可以通过多种方式来定义一个新的对象。最简单的方式是利用字面量表示法[^1]。 ```javascript let person = { firstName: "John", lastName : "Doe" }; ``` #### 字符串处理函数 `search()` 方法能够用来定位特定子字符串首次出现的位置或者找到符合给定模式的任何位置。此功能基于正则表达式的强大能力实现[^2]。 ```javascript let text = "Visit W3Schools.com!"; let result = text.search(/W3Schools/i); console.log(result); // 输出索引号或 -1 表示未找到 ``` #### 文件扩展名校验 为了验证用户输入的内容是否是以`.js`或是`.html`结尾,可以通过调用`String.prototype.endsWith()`来进行简单的逻辑判断[^3]。 ```javascript var str = prompt('请输入文件路径'); if (str.endsWith('.js') || str.endsWith('.html')) { alert(true); } else { alert(false); } ``` #### DOM节点查询技术 当涉及到页面元素的选择时,提供了几种不同的API供开发者选用,比如依据ID、类名、标签名称甚至是CSS选择器来选取单个或多个DOM节点[^4]。 ```javascript // 获取单一元素 const elementById = document.getElementById('uniqueId'); // 获取一组具有相同类名的元素集合 const elementsByClass = document.getElementsByClassName('commonClassName'); // 使用querySelectorAll获得所有符合条件的对象列表 const allElementsMatchingSelector = document.querySelectorAll('.cssSelector, p'); ``` #### 函数参数分割统计 编写一段脚本接收一句话作为参数并计算其中单词的数量是一个不错的实践案例[^5]。 ```javascript function countWords(sentence) { let wordsArray = sentence.trim().split(/\s+/g); return wordsArray.length; } console.log(countWords("Hello, my name is John")); // 输出:5 console.log(countWords("how are you")); // 输出:3 ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值