项目轮播图图片无法切换求助(文本标题可正常切换)
项目轮播组件图片无法切换的问题解决
我正在制作一个展示项目的轮播组件,通过数组存储项目信息并插入至HTML中。目前标题与文本内容可正常切换,但图片无法切换。尝试修改图片src属性仍未解决,以下是相关代码:
项目信息数组
var Projects = [ { "heading" : "Online Library website", "img" : "./project3.png", "text" : ` TEXT` }, { "heading" : "Food ordering website", "img" : "./project4.png", "text" : ` TEXT ` }, { "heading" : "Random Quotes", "img" : "./project1.png", "text" : ` TEXT` } ]
原JavaScript代码
let nxtarrow = document.getElementById('next-arrow'); let prevarrow = document.getElementById('prev-arrow'); let heading = document.getElementById('title'); let text = document.getElementById('text'); let img = document.getElementById('Projectimg'); console.log(img.src); var currentHead = 0; nxtarrow.onclick = function(){ if(currentHead == (Projects.length -1)){ currentHead = 0; } else{ currentHead++; } var title = Projects[currentHead].heading; var para = Projects[currentHead].text; var imgsrc = Projects[currentHead].img; heading.innerHTML = title; text.innerHTML = para; imgsrc.src = imgsrc; let ss = $('#Projectimg').attr('src', Projects.img) console.log(ss); }
问题分析与修正
代码里有两处明显错误导致图片无法切换:
- 错误操作字符串变量:
imgsrc是从数组中获取的图片路径字符串,你却试图给它设置src属性——这完全无效,应该用之前获取的DOM元素img来设置src,即img.src = imgsrc;。 - jQuery代码属性路径错误:
Projects.img不存在,应该指向当前索引的项目图片地址Projects[currentHead].img,而且既然已经用原生JS获取了img元素,没必要重复用jQuery,反而容易造成混淆。
修正后的JavaScript代码:
let nxtarrow = document.getElementById('next-arrow'); let prevarrow = document.getElementById('prev-arrow'); let heading = document.getElementById('title'); let text = document.getElementById('text'); let img = document.getElementById('Projectimg'); console.log(img.src); var currentHead = 0; nxtarrow.onclick = function(){ if(currentHead == (Projects.length -1)){ currentHead = 0; } else{ currentHead++; } var title = Projects[currentHead].heading; var para = Projects[currentHead].text; var imgsrc = Projects[currentHead].img; heading.innerHTML = title; text.innerHTML = para; // 正确设置图片src img.src = imgsrc; }
内容的提问来源于stack exchange,提问作者Madhava Yedla
相关产品推荐
相关产品推荐

