Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击更改高度并使用JS返回正常值_Javascript_For Loop_If Statement_Onclick_Addeventlistener - Fatal编程技术网

Javascript 单击更改高度并使用JS返回正常值

Javascript 单击更改高度并使用JS返回正常值,javascript,for-loop,if-statement,onclick,addeventlistener,Javascript,For Loop,If Statement,Onclick,Addeventlistener,我是新来的 当我点击图片时,我试图改变它们的高度,然后当我再次点击它们时,它们会返回到原始高度。我试图通过使用相同的CSS类、for循环和if/else来实现这一点 我的图像html是这样的几次: var element=document.getElementsByClassName(“imgclasstosize”); 对于(变量i=0;i

我是新来的

当我点击图片时,我试图改变它们的高度,然后当我再次点击它们时,它们会返回到原始高度。我试图通过使用相同的CSS类、for循环和if/else来实现这一点

我的图像html是这样的几次:

var element=document.getElementsByClassName(“imgclasstosize”);
对于(变量i=0;i

您以错误的方式访问元素。使用内置的
事件
,如下所示:

var element = document.getElementsByClassName("imgclasstosize");

for(var i = 0; i < element.length; i++) {
    var element = element[i];
    element.onclick = function(event) {

        if (event.target.style.height == "500px") {
            event.target.style.height = "200px";
        } else {
            event.target.style.height = "500px";
        }
    }
}
var element=document.getElementsByClassName(“imgclasstosize”);
对于(变量i=0;i
您可以使用
querySelector
选择所有元素,也可以保留
getElementsByClassName()
。 然后循环浏览每个图像并添加事件侦听器:

var-element=document.querySelectorAll('.imgclasstosize');
元素。forEach(el=>{
el.addEventListener('click',函数(事件){
如果(event.target.style.height==“500px”){
event.target.style.height='200px';
}否则{
event.target.style.height='500px';
}
});
});


非常感谢您的回答。由于某种原因,这对我不起作用,因为我的行为还是一样的。只对第一张照片进行了处理,其余的照片没有改变高度。非常感谢你的回答。这对我来说很管用,但有一点需要注意:如果我点击同一张图片,行为和预期的一样。一次单击更改高度,下一次单击更改回初始高度。-如果我单击一张图片以更改高度,并且不再单击同一张图片,而是单击另一张,则会更改下一张图片的高度(如预期),但不会将第一张图片的高度更改为正常高度。假设我没有指定这是需要的,但这有可能吗?是的,你可以再次循环思考每个按钮中的所有元素,单击以再次将所有图像高度设置为正常,如果我的答案是回答你的帖子问题,请将其设置为已回答,然后再次提问。请将新的问题链接留在此处,以便我可以回答。谢谢Butalin。以下是链接: