Dom对象总结案例实操(第二十课)(二)

简介: Dom对象总结案例实操(第二十课)(二)

案例三 案例三轮播图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>轮番图</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        ul {
            list-style: none;
        }
        .main_wrapper {
            width: 605px;
            margin: 0 auto;
        }
        .main {
            height: 100px;
        }
        .news-section {
            display: flex;
            height: 342px;
            /* background-color: orange; */
        }
        .news-section .banner {
            width: 605px;
        }
        .news-section .banner .image-list {
            height: 298px;
        }
        .news-section .banner .image-list img {
            border-radius: 2px;
        }
        .news-section .banner .title-list {
            height: 44px;
            display: flex;
            justify-content: space-around;
            align-items: center;
        }
        .news-section .banner .title-list li {
            background-color: black;
            height: 44px;
            width: 121px;
            line-height: 44px;
            text-align: center;
        }
        .news-section .banner .title-list li a {
            color: #B1B2BE;
            text-decoration: none;
        }
        .news-section .banner .title-list .active {
            background-color: #383838;
        }
        .news-section .banner .title-list .active a {
            color: #F3C258;
        }
    </style>
</head>
    // 获取文字中的ul
    var UlTitleList = document.querySelector(".title-list")
    // 获取高亮的元素
    var ItemActive = document.querySelector(".active")
    // 获取图片的内容信息
    var UlImgeList = document.querySelector("img")
    // 当鼠标移入后要改变什么事件
    UlTitleList.onmouseover = function (e) {
        if (e.target.parentElement.classList.contains("item")) {
            if (ItemActive) ItemActive.classList.remove("active")
            // 加上高亮效果
            e.target.parentElement.classList.add("active")
            ItemActive = e.target.parentElement
            setInterval(function(){
            },2000)
            var index = Array.from(this.children).findIndex(function (item) {
                return item === e.target.parentElement
            })
            UlImgeList.src = `./img/${index + 1}.jpeg`
        }
    }

案例四 案例四侧边栏

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .tool-bar{
      position: fixed;
      top: 30%;
      right: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 35px;
    }
    .item {
      position: relative;
      width: 35px;
      height: 35px;
      margin-bottom: 1px;
      background-color: #7a6e6e;
      border-radius: 3px 0 0 3px;
    }
    .icon {
      display: inline-block;
      width: 100%;
      height: 100%;
      cursor: pointer;
      background-repeat: no-repeat;
      background-size: 50%;
      background-position: 50% 50%;
    }
    .name{
      position: absolute;
      z-index: -1;
      right: 35px;
      top: 0px;
      /* 动态的改变 */
      width: 0;
      height: 35px;
      line-height: 35px;
      color: #fff;
      text-align: center;
      font-size: 12px;
      background-color: #7a6e6e;
      cursor: pointer;
      border-radius: 3px 0 0 3px;
      transition: width 0.2s ease;
    }
    .item:hover,.item:hover .name{
      background-color: #cd1926;
    }
  </style>
</head>
<body>
  <div class="tool-bar">
    <div class="item">
      <i class="icon"></i>
      <div class="name">购物车</div>
    </div>
    <div class="item">
      <i class="icon"></i>
      <div class="name">收藏</div>
    </div>
    <div class="item">
      <i class="icon"></i>
      <div class="name">限时活动</div>
    </div>
    <div class="item">
      <i class="icon"></i>
      <div class="name">大礼包</div>
    </div>
  </div>
  var iconlist=document.querySelectorAll(".icon")
  for(var i=0;i<iconlist.length;i++){
      var icon=iconlist[i]
      icon.style.backgroundImage=`url("./img/${i+1}.svg")`
  }
  var toolBael=document.querySelector(".tool-bar")
  console.log(toolBael)
  toolBael.οnmοuseοver=function(e){
      OnmouseoverAndOnmouseOutAll(e,62,100,1)
  }
  toolBael.οnmοuseοut=function(e){
      OnmouseoverAndOnmouseOutAll(e,0,200,10)
 }
  function OnmouseoverAndOnmouseOutAll(e,width,height){
      // 执行的功能
      if(e.target!==e.currentTarget){
          // 什么事 件改变盒子的宽度
          if(e.target.classList.contains("item")){
              e.target.children[0].style.width=`${width}px`
              e.target.children[0].style.height=`${height}px`
              e.target.children[0].style.margin=`${margin}px`
          }else{
              e.target.parentElement.children[1].style.width=`${width}px`
              e.target.parentElement.children[1].style.height=`${height}px`
              e.target.parentElement.children[1].style.margin=`${margin}px`
          }
      }
  }

相关文章
|
1月前
|
JavaScript 前端开发
|
2月前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
3月前
|
JavaScript 前端开发
前端基础(十)_Dom自定义属性(带案例)
本文介绍了DOM自定义属性的概念和使用方法,并通过案例展示了如何使用自定义属性来控制多个列表项点击变色的独立状态。
52 0
前端基础(十)_Dom自定义属性(带案例)
|
4月前
|
JavaScript 前端开发
js之DOM 文档对象模型
js之DOM 文档对象模型
29 1
js之DOM 文档对象模型
|
4月前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
56 1
|
4月前
|
JavaScript 前端开发 API
前端开发者的救赎:揭秘JQ对象与DOM元素的神秘转换术
【8月更文挑战第23天】在Web前端开发领域,jQuery(简称JQ)作为一款流行的JavaScript库,极大简化了HTML文档遍历、事件处理、动画及Ajax交互等操作。理解和掌握jQuery对象与DOM元素间的转换至关重要。
49 0
|
4月前
|
JavaScript 前端开发
js之DOM 文档对象模型
js之DOM 文档对象模型
|
6月前
|
JavaScript 前端开发 算法
虚拟DOM是React的关键技术,它是个轻量的JS对象树,模拟实际DOM结构。
【6月更文挑战第27天】虚拟DOM是React的关键技术,它是个轻量的JS对象树,模拟实际DOM结构。当状态改变,React不直接修改DOM,而是先构建新的虚拟DOM树。通过 diff 算法比较新旧树,找到最小变更,仅更新必要部分,提高性能,避免频繁DOM操作。虚拟DOM还支持跨平台应用,如React Native。它优化了更新流程,简化开发,并提升了用户体验。
47 1
|
5月前
|
JavaScript
react18【系列实用教程】useRef —— 创建 ref 对象,获取 DOM (2024最新版)
react18【系列实用教程】useRef —— 创建 ref 对象,获取 DOM (2024最新版)
66 0
|
6月前
|
JavaScript 前端开发 API
jQuery对象与DOM对象简介及相互转换
jQuery对象与DOM对象简介及相互转换