Javascript 如何动态更新模式窗口';从使用vanilla JS的节中选择包含HTML元素的内容?

Javascript 如何动态更新模式窗口';从使用vanilla JS的节中选择包含HTML元素的内容?,javascript,html,css,for-loop,iteration,Javascript,Html,Css,For Loop,Iteration,我正在开发一个时间线类型的应用程序/页面,希望在单击“阅读更多”时打开一个模式窗口,显示每个时间线块的内容。然而,我似乎在迭代阶段迷失了方向,因为每当我点击“阅读更多”时,只有最后一节的标题显示在模式标题中。这意味着循环完成迭代并用最后一个元素填充模态标题。如有任何见解,将不胜感激 **将整个程序编辑成更易于理解的格式(希望如此)** //选择模态交互 var readBtn=document.getElementsByClassName(“cd读取更多”); var closeBtn=doc

我正在开发一个时间线类型的应用程序/页面,希望在单击“阅读更多”时打开一个模式窗口,显示每个时间线块的内容。然而,我似乎在迭代阶段迷失了方向,因为每当我点击“阅读更多”时,只有最后一节的标题显示在模式标题中。这意味着循环完成迭代并用最后一个元素填充模态标题。如有任何见解,将不胜感激

**将整个程序编辑成更易于理解的格式(希望如此)**

//选择模态交互
var readBtn=document.getElementsByClassName(“cd读取更多”);
var closeBtn=document.querySelector(“.closeBtn”);
var modal=document.querySelector(“.modal”);
var modalTitle=document.getElementById(“模式标题”);
var modalBody=document.querySelector(“.modalBody”);
var contentBlock=document.getElementsByClassName(“cd时间线块”)
var时间线=[];
//选择cd时间表内容
timeline.postTitles=document.getElementsByClassName(“post title”);
timeline.postBody=document.getElementsByClassName(“postBody”);
timeline.postImg=document.getElementsByClassName(“pic”);
//模态事件函数
函数OpenModel(索引编号){
对于(变量i=0;i

示例时间线
示例时间线
第一个标题
Lorem ipsum dolor sit amet,奉献精英。Iusto、optio、dolorum provident rerum

2017年7月17日 &时代; 测试页脚
谢谢大家的意见和提示。出于沮丧,我最终使用jQuery而不是vanillaJS。我将把它转换成vanilla JS(我是否正确地使用了它?)作为一个强化练习,但我现在只想要它的功能

作为参考,这是我总结的代码:

$(文档).ready(函数(){
//在“阅读更多”按钮上设置单击功能
$(“.cd时间线块”)。在(“单击”,函数(){
//选择模式标题并清空内容
$(“.modal title”).empty();
////选择模态体并将其清空
$(“.modal body”).empty();
//将变量标题设置为单击选择器
变量标题=$(“.post title”,本);
//将可变主体内容设置为单击主体选择
var body=$(“.post body”,this);
$(title.clone().appendTo(“.modal title”);
$(body.clone().appendTo(“.modal body”);
})

});谢谢大家的意见和提示。出于沮丧,我最终使用jQuery而不是vanillaJS。我将把它转换成vanilla JS(我是否正确地使用了它?)作为一个强化练习,但我现在只想要它的功能

作为参考,这是我总结的代码:

$(文档).ready(函数(){
//在“阅读更多”按钮上设置单击功能
$(“.cd时间线块”)。在(“单击”,函数(){
//选择模式标题并清空内容
$(“.modal title”).empty();
////选择模态体并将其清空
$(“.modal body”).empty();
//将变量标题设置为单击选择器
变量标题=$(“.post title”,本);
//将可变主体内容设置为单击主体选择
var body=$(“.post body”,this);
$(title.clone().appendTo(“.modal title”);
$(body.clone().appendTo(“.modal body”);
})

});来自。。。不要只是复制整个程序!^尽管我同意这里有很多代码,a会很有帮助。。。我必须赞扬你清楚地展示了你的问题,提到了你的限制,并在你的第一篇文章中添加了一个堆栈片段。我还建议您检查:),问题是您实际上没有将
索引
传递给
readBtn[I]中的
openModal
函数。addEventListener(“单击”,openModal)
。您希望添加一个结尾:)@obsidiange我的评论可能有点粗鲁。我很抱歉,没有冒犯你。非常感谢。我将不得不根据黑曜石时代做更多的研究闭包。从。。。不要只是复制整个程序!^尽管我同意这里有很多代码,a会很有帮助。。。我必须赞扬你清楚地展示了你的问题,提到了你的限制,并在你的第一篇文章中添加了一个堆栈片段。我还建议您检查:),问题是您实际上没有将
索引
传递给
readBtn[I]中的
openModal
函数。addEventListener(“单击”,openModal)
。您希望添加一个结尾:)@obsidiange我的评论可能有点粗鲁。我很抱歉,没有冒犯你。非常感谢。我将不得不根据黑曜石时代做更多的研究。