8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

实现折叠块功能

Staša Sekulić 3月前

31 0

我正在尝试在我的网站上实现手风琴块,但在实现构成手风琴块的功能时遇到了问题。我为此遵循了整个 YouTube 教程,所以...

我正在尝试在我的网站上实现一个可折叠面板块,但在实现组成可折叠面板块的功能时遇到了问题。我为此遵循了整个 YouTube 教程,所以不确定为什么它不起作用。我相信问题出在我的 JavaScript 上,也许是 CSS 中的 .active 代码,但我并不完全确定,因为我才刚学 JS 一周。

这是我所遵循的教程的链接,以备不时之需:

https://www.youtube.com/watch?v=dPLHi7tsoFU&t=3s

这是我当前的代码,我还对 JS 代码进行了故障排除,并附加了该代码。这两个代码都没有解决问题。另外,为了以防万一,我还检查了浏览器控制台,那里没有错误。

JS 故障排除代码

const accordionLabels = document.querySelectorAll('.accordion-content .accordion-label');

accordionLabels.forEach(label => {
  label.addEventListener('click', function() {
    const accordionContent = this.parentElement;
    accordionContent.classList.toggle('active');
  });
});

JS 原代码

// Accordion Code Starts Here

const accordion = document.getElementsByClassName('accordion-content');

for (i = 0; i<accordion.length; i++) {
  accordion[i].addEventListener('click', function() {
    this.classList.toggle('active')
  })
}

// Accordion Code Ends Here

CSS

/* Styles for Accordian block in left section of body3 */

.accordion-block {
  max-width: 500px;
  background-color: brown;
}

.accordion-block .accordion-content {
  position: relative;
  margin: 10px 0px;
  background-color: aqua;
}

.accordion-block .accordion-content .accordion-label {
  position: relative;
  padding: 10px;
  padding-left: 0px;
  background-color: beige;
  cursor: pointer;
}

.accordion-block .accordion-content .accordion-label::before {
  background-color: yellow;
  content: '+';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 1.5em;
}

.accordion-block .accordion-content.active .accordion-label::before {
  content: '-';
}

.accordion-block .accordion-content .accordion-text {
  position: relative;
  background-color: aquamarine;
  height: 0;
  overflow: hidden;
  transition: 0.5s;
  overflow-y: auto;
}

.accordion-block .accordion-content.active .accordion-text {
  height: auto;
  padding: 10px;
}

HTML

<div class="accordion-block">

            <div class="accordion-content">
              <div class="accordion-label">Sneaker Customization</div>
              <div class="accordion-text">
                <p>
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                </p>
              </div>
            </div>

            <div class="accordion-content">
              <div class="accordion-label">Sneaker Restoration</div>
              <div class="accordion-text">
                <p>
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                </p>
              </div>
            </div>

            <div class="accordion-content">
              <div class="accordion-label">Stock Sourcing</div>
              <div class="accordion-text">
                <p>
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                </p>
              </div>
            </div>

          </div>
帖子版权声明 1、本帖标题:实现折叠块功能
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Staša Sekulić在本站《list》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 请说明您的具体问题或添加其他详细信息以准确突出您的需求。根据目前的写法,很难准确说出您要求的是什么。什么

返回
作者最近主题: