【问题标题】:how to create enumerated element handles如何创建枚举元素句柄
【发布时间】:2021-05-29 05:13:55
【问题描述】:

我有很多带有动画的 div 文本(在 100 年代) 而且我需要一种创建枚举元素句柄的方法(尽量避免使用数组) 像这样:

<div id="q1"> some text </div>
<div id="q2"> some text </div>

... 在 javascript 中,我想在 for 循环中创建元素句柄(动画处理器需要元素句柄)

喜欢:

for( let i=0; i<numQues; i++ ) {
    let q + i = document.getElementById("q"+i)
}

显然,这不起作用,但这就是我想要做的,然后我将元素句柄作为

【问题讨论】:

    标签: javascript element getelementbyid


    【解决方案1】:

    使用此代码 sn-p 您将能够遍历 DOM 中的多个项目并为其设置动画,我正在使用类,尽管您可以做任何您想做的事情,但是,我认为您可以理解。

    const items = document.querySelectorAll('.item');
    items.forEach(
      (item, i) =>
        setTimeout(
          () => item.classList.add('visible'),
          100 * i
        )
    );
    .item {
      opacity: 0;
      transition: all 250ms ease-out;
    }
    
    .item.visible {
      opacity: 1;
    }
    <div id="i1" class="item">item 1</div>
    <div id="i2" class="item">item 2</div>
    <div id="i3" class="item">item 3</div>
    <div id="i4" class="item">item 4</div>
    <div id="i5" class="item">item 5</div>
    <div id="i6" class="item">item 6</div>
    <div id="i7" class="item">item 7</div>
    <div id="i8" class="item">item 8</div>
    <div id="i9" class="item">item 9</div>
    <div id="i10" class="item">item 10</div>

    【讨论】:

    • 好吧,这对我来说行不通。我使用 GSAP (Greensock) 动画库,同步到带有大量动画的录像带。我创建像 tl=timeline() 这样的时间线,然后动画将是: tl..fromTo( q[8], .6, {color:"#04f", left:"1.5%", top:"12%", autoAlpha:0, scale:0, width:"48%", transformOrigin:"left top"}, {color:"#000", autoAlpha:1, scale:toScale}, 9.4 ) 等所以我想创建元素句柄。我的意思是,我可以将它们作为一个数组来做,我想没有充分的理由不这样做。
    猜你喜欢
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多