RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-436186

Bemfes's questions

Martin Hope
Bemfes
Asked: 2025-03-04 19:37:24 +0000 UTC

我应该在图片标签中延迟加载 webp 和 avif 图像吗?

  • 6

我有一些负责图像延迟加载的 js 代码。但如果我们也用 picture 标签包裹 img,并且针对 webp、avif 格式的图片添加 source 标签,那么是否也需要对 source 标签做延迟加载呢?或者如果您使用图像的延迟加载,您可以不用图片标签和 webp、avif 格式吗?

<picture>
    <source srcset="human-back.avif" type="image/avif">
    <img class="lazy first" data-src="human-back.avif" src="pixel.png" alt="">
</picture>
const Images = document.querySelectorAll('img[data-src]');

function loadImages(entries) {
    if (entries[0].isIntersecting) {
        entries[0].target.src = entries[0].target.dataset.src
        observer.unobserve(entries[0].target) 
    }
}

const options = {
    threshold: 0,
    rootMargin: '50px'
}
const observer = new IntersectionObserver(loadImages, options)

Images.forEach(img => {
    observer.observe(img)
})
javascript
  • 1 个回答
  • 34 Views
Martin Hope
Bemfes
Asked: 2024-10-02 02:42:51 +0000 UTC

使用正则表达式将文本中相同但字母大小写不同的标签包裹在单词中

  • 7

有一个输入,当你输入一个在文本中多次出现的单词或字母时,这些重复的部分会用mark标签突出显示。我使用正则表达式找到相同的单词,然后使用 Replace() 方法替换它们。但是,在这种情况下,所有字母都会变小,因为输入中的字母已被替换。因此,所有重复的大写字母(或以大写字母开头的相同单词)将被替换为相同的字母,但小写。如何确保替换后字母的大小写与原始大小写相对应?

const text = document.querySelector('.text');

const input = document.querySelector('.input');

input.addEventListener('input', () => {
    let value = input.value
    words(text, value)
    
})

function words(text, search) {
    let words = text.textContent
    if (words.indexOf(`${search}`) != -1 && search != '' && search != ' ') {
        let searchAll = new RegExp(search, 'gi')
        let newText = words.replace(searchAll, '<mark>' + search + '</mark>')
        text.innerHTML = newText
    } else {
         console.log('did not find');
    }
}

    
javascript
  • 1 个回答
  • 34 Views
Martin Hope
Bemfes
Asked: 2024-09-06 21:39:54 +0000 UTC

IntersectionObserver,当页面在被观察对象的位置重新加载时,仅在页面滚动时触发,而不是立即触发

  • 5

我正在尝试使用 IntersectionObserver 延迟加载图像。当您将页面滚动到有图片的位置时,一切都会正常加载。但是,当您在已卸载图像的位置重新加载页面时,重新加载时,仅在上下滚动页面时才会加载图像,尽管图像位于查看者的视野中。我们在这里可以做些什么吗?以便观察者可以在重新启动时立即看到需要加载图像?

<img class="lazy" data-src="girl (2).png" src="back.png" alt="">
<img class="lazy" data-src="comf-1.png" src="back.png" alt="">
<img class="lazy" data-src="comf-2.png" src="back.png" alt="">
<img class="lazy" data-src="yoga.png" src="back.png" alt="">
const Images = document.querySelectorAll('img[data-src]');
function loadImages(entries) {
    if (entries[0].isIntersecting) {
        entries[0].target.src = entries[0].target.dataset.src
        observer.unobserve(entries[0].target)   
    }
}
    
const options = {
    threshold: 0,
    rootMargin: '50px'
}
const observer = new IntersectionObserver(loadImages, options)
    
Images.forEach(img => {
    observer.observe(img)
})

javascript
  • 1 个回答
  • 39 Views
Martin Hope
Bemfes
Asked: 2024-02-04 18:15:58 +0000 UTC

使用 css-grid 将元素彼此等距离放置

  • 5

我正在训练使用 css-grid,尝试将标题中的三个元素彼此距离相同,但它们都已移至左侧并且不想使用容器的左侧。也就是说,它们需要沿着容器的整个长度放置,彼此之间的距离相等。请帮帮我。

.container {
  width: 140rem;
  margin: 0 auto;
}

.header {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  align-items: center;
}

.hamburger {
  display: flex;
  flex-direction: column;
  width: 4.8rem;
}

.hamburger span {
  display: block;
  height: .2rem;
  width: 4.8rem;
  background: white;
}

.hamburger span:not(:last-child) {
  margin-bottom: .6rem;
}
<header class="header container">
  <div class="icons">
    <img src="icons/facebook.svg" alt="facebook" />
    <img src="icons/twitter.svg" alt="twitter" />
  </div>
  <img src="icons/logo.svg" alt="logo" />
  <div class="hamburger">
    <span></span>
    <span></span>
  </div>
</header>

html
  • 1 个回答
  • 23 Views
Martin Hope
Bemfes
Asked: 2024-02-02 17:51:52 +0000 UTC

样式输入文件在第一次单击后不起作用

  • 5

我正在尝试制作一个风格化的输入文件,以便在单击时,其标签更改为附加文件的名称。然而,按下第一次后,就无法再按下第二次了。请告诉我,有什么问题吗?

function ready() {
    const inputFile = document.querySelector('.reg-box_file');
    const labelFile = document.querySelector('.screen-label');
    const labelValue = labelFile.textContent
    inputFile.addEventListener('change', function() {
        let fileName = this.files[0].name
        if (fileName) {
            labelFile.textContent = fileName
            labelFile.classList.add('screen-label__active') 
        } else {
            labelFile.innerHTML = labelValue
        }
    })
}

document.addEventListener('DOMContentLoaded', ready)

html:

<div class="screen-container">
       <label class="screen-label" for="screen-file">
              <input
              class="reg-box reg-box_file"
              id="screen-file"
              type="file"
              />
         Прикрепить скриншот</label>
</div>
javascript
  • 2 个回答
  • 36 Views
Martin Hope
Bemfes
Asked: 2023-11-24 03:01:29 +0000 UTC

如何在手机等开发工具中模拟触摸

  • 5

其实,关于问题的主题,一切都已经很清楚了。我找不到这样的功能 - 模拟手机上的触摸,但可以在计算机上进行测试。告诉。请问,我在哪里可以找到它?

google-chrome-devtools
  • 1 个回答
  • 20 Views
Martin Hope
Bemfes
Asked: 2023-10-29 23:27:06 +0000 UTC

如何使用javascript根据浏览器窗口大小更改元素样式

  • 5

如何使用 javascript 跟踪浏览器窗口大小变化并根据大小更改元素样式?假设有一个红色 div(任意宽度和高度),如果窗口宽度为 540 像素或更小,则该 div 应变为绿色。请告诉我如何实施?我了解 css @media,我需要 javascript。

javascript
  • 1 个回答
  • 26 Views
Martin Hope
Bemfes
Asked: 2023-09-26 00:46:34 +0000 UTC

如何在按下按钮后从头开始计时?

  • 6

我正在尝试重置计时器。

首先有一个方块和一个计时器;计时器到期后,方块消失并出现“重复”按钮。按下后,计时器应该会再次倒计时,但数字不会依次变化,只有起始数字。

同时,计时器本身也开始工作:时间结束后,方块就会消失。

如何让按下按钮后出现计时器数字?

const labelTimer = document.querySelector('span')
const div = document.querySelector('div')
const title = document.querySelector('h1')
const button = document.querySelector('button')

let timer

function start() {
    let time = 5;
    function tick() {

      const seconds = time % 60
      labelTimer.textContent = `${seconds}`;
     
      if (time == 0) {
        clearInterval(timer);
        div.style.opacity = 0
        title.textContent = 'Квадрат исчез!'
        button.style.opacity = 100
      }
      time--;
    }
    tick();
    const timer = setInterval(tick, 1000);
    return timer;
  }

start()

button.addEventListener('click', function() {
    title.innerHTML = `Этот квадрат исчезнет через: <span>5</span> секунд`
    div.style.opacity = 100
    button.style.opacity = 0
    timer = start();
})
javascript
  • 2 个回答
  • 36 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5