Javascript 使用JS选择元素 var displayedImage=document.querySelector('.displayedImage'); var thumbBar=document.querySelector('.thumbBar'); btn=document.querySelector('button'); var overlay=document.querySelector('.overlay'); /*循环浏览图像*/ 对于(var i=1;i
您必须在循环中为每个新元素设置事件侦听器。如下所示:Javascript 使用JS选择元素 var displayedImage=document.querySelector('.displayedImage'); var thumbBar=document.querySelector('.thumbBar'); btn=document.querySelector('button'); var overlay=document.querySelector('.overlay'); /*循环浏览图像*/ 对于(var i=1;i,javascript,html,Javascript,Html,您必须在循环中为每个新元素设置事件侦听器。如下所示: var displayedImage = document.querySelector('.displayed-img'); var thumbBar = document.querySelector('.thumb-bar'); btn = document.querySelector('button'); var overlay = document.querySelector('.overlay'); /* Looping thro
var displayedImage = document.querySelector('.displayed-img');
var thumbBar = document.querySelector('.thumb-bar');
btn = document.querySelector('button');
var overlay = document.querySelector('.overlay');
/* Looping through images */
for(var i=1;i<=5;i++){
var newImage = document.createElement('img');
newImage.setAttribute('src', "images/pic"+i+".jpg");
thumbBar.appendChild(newImage);
}
function getPath(){
var path = this.document.getAttribute('src').value;
}
newImage.onclick=function(){
var path = newImage.getAttribute('src');
console.log(path);
displayedImage.setAttribute('src', path);
}
var displayedImage=document.querySelector('.displayedImage');
var thumbBar=document.querySelector('.thumbBar');
btn=document.querySelector('button');
var overlay=document.querySelector('.overlay');
/*循环浏览图像*/
对于(var i=1;i您必须在循环中为每个新元素设置事件侦听器。如下所示:
var displayedImage = document.querySelector('.displayed-img');
var thumbBar = document.querySelector('.thumb-bar');
btn = document.querySelector('button');
var overlay = document.querySelector('.overlay');
/* Looping through images */
for(var i=1;i<=5;i++){
var newImage = document.createElement('img');
newImage.setAttribute('src', "images/pic"+i+".jpg");
thumbBar.appendChild(newImage);
}
function getPath(){
var path = this.document.getAttribute('src').value;
}
newImage.onclick=function(){
var path = newImage.getAttribute('src');
console.log(path);
displayedImage.setAttribute('src', path);
}
var displayedImage=document.querySelector('.displayedImage');
var thumbBar=document.querySelector('.thumbBar');
btn=document.querySelector('button');
var overlay=document.querySelector('.overlay');
/*循环浏览图像*/
对于(var i=1;i为什么不在每个图像元素上附加一个CSS类,并使用类名作为CSS选择器呢
var displayedImage = document.querySelector('.displayed-img');
var thumbBar = document.querySelector('.thumb-bar');
btn = document.querySelector('button');
var overlay = document.querySelector('.overlay');
/* Looping through images */
for(var i=1;i<=5;i++){
var newImage = document.createElement('img');
newImage.setAttribute('src', "images/pic"+i+".jpg");
thumbBar.appendChild(newImage);
// **************************************************
newImage.onclick=function(){
var path = this.getAttribute('src'); // instead of newImage use this
console.log(path);
displayedImage.setAttribute('src', path);
}
// **************************************************
}
function getPath(){
var path = this.document.getAttribute('src').value;
}
为什么不在每个图像元素上附加一个CSS类,并使用类名作为CSS选择器呢
var displayedImage = document.querySelector('.displayed-img');
var thumbBar = document.querySelector('.thumb-bar');
btn = document.querySelector('button');
var overlay = document.querySelector('.overlay');
/* Looping through images */
for(var i=1;i<=5;i++){
var newImage = document.createElement('img');
newImage.setAttribute('src', "images/pic"+i+".jpg");
thumbBar.appendChild(newImage);
// **************************************************
newImage.onclick=function(){
var path = this.getAttribute('src'); // instead of newImage use this
console.log(path);
displayedImage.setAttribute('src', path);
}
// **************************************************
}
function getPath(){
var path = this.document.getAttribute('src').value;
}
@newB我仍然不明白你所说的检索最后一个值是什么意思!@newB如果你想了解它为什么不起作用,那么看看答案末尾的链接或google闭包内的循环,上面有很多关于它的解释。谢谢!但是如果要翻译成英语..this.getAttribute与newImage.getAt相同右..@newB此
在事件侦听器中是触发事件的元素,在本例中是单击的图像。我们不能使用newImage
,因为所有事件侦听器都将引用相同的newImage
,这是最后一个(循环会弄乱闭包,因为它在整个迭代过程中都有相同的作用域=>检查链接或谷歌我告诉过你的原因)!@newB我仍然不明白你所说的检索最后一个值是什么意思!@newB如果你想了解它为什么不起作用,那么请查看答案末尾的链接或谷歌闭包内的循环,上面有很多关于它的解释。谢谢!但是如果要翻译成英语..this.getAttribute与newImage.getA相同ttribute right..@newB事件侦听器中的此
是触发事件的元素,在本例中,是单击的图像。我们不能使用新图像
,因为所有事件侦听器都将引用相同的新图像
,这是最后一个(这个循环把闭包搞砸了,因为它在整个迭代过程中都有相同的作用域=>检查链接或谷歌我告诉过你的原因)!