javascript - 包装多个项目js
问题描述
这里是一个为一张幻灯片制作包装器的脚本。如何正确制作,包装中的内容会得到三张幻灯片?
let wrappedSlides = Array.from(container.children).map(slide => {
let slideWrap = document.createElement('div');
slideWrap.classList.add('slides-flow__slide');
slideWrap.appendChild(slide);
return slideWrap;
});
解决方案
我解决了问题
static createMarkup(container, transition = false) {
let wrapper = document.createElement('div');
wrapper.classList.add('slides-flow__wrap');
if (transition) wrapper.style.transition = `transform ${transition}`;
const slides = Array.from(container.children);
let appendSlides = [];
while(slides.length > 0) {
appendSlides.push(slides.splice(0,3))
}
let wrappedSlides = appendSlides.map(slide => {
let slideWrap = document.createElement('div');
slideWrap.classList.add('slides-flow__slide');
slide.forEach(el => slideWrap.appendChild(el));
return slideWrap;
});
wrappedSlides.forEach(wrappedSlide => {
wrapper.appendChild(wrappedSlide);
});
container.appendChild(wrapper);
return {
container,
wrapper,
slides: wrappedSlides
}
}
推荐阅读
- android - 在 KitKat 4.4.4 API 19 上使用改造上传图像时应用程序崩溃
- ruby-on-rails - 创建自定义 Rails tinyMCE 插件:editor.ui 未定义
- javascript - 节点红色。从对象数组中获取项目
- ios - 如何在特定钥匙串访问组中保存/获取访问令牌
- python - 如何用keras处理numpy中的MemoryError?
- java - 如何使用@JacksonInject(useInput= OptBoolean.FALSE)
- d3.js - 如何修改 observablehq 可缩放旭日形并将其复制到本地机器并运行?
- java - 用户验证密码后如何启动 java applet 程序?
- python-3.x - 如何在不输入每个数据框名称的情况下连接多个数据框
- java - org.openqa.selenium.UnsupportedCommandException:使用 Selenium 未找到变量资源