Javascript 将网站中的所有图像向下移动一半高度

Javascript 将网站中的所有图像向下移动一半高度,javascript,html,css,image,Javascript,Html,Css,Image,我们有一个包含许多数学公式的网站(显示为PNG,由Latex转换而成),它们被动态加载到各自的位置(从sql数据库中) 所有的公式都与文本对齐。你知道这行:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 我们希望有一个函数来获取某个类的每个元素(或者通过在css中使用“img”),我们可以使用它自动将所有img向下移动到相应图像高度的一半 有没有一个我忽略的简单解决方

我们有一个包含许多数学公式的网站(显示为PNG,由Latex转换而成),它们被动态加载到各自的位置(从sql数据库中)

所有的公式都与文本对齐。你知道这行:
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

我们希望有一个函数来获取某个类的每个元素(或者通过在css中使用“img”),我们可以使用它自动将所有img向下移动到相应图像高度的一半


有没有一个我忽略的简单解决方案,或者我们真的必须手动定位每个图像(遗憾的是,将有数百个!)吗?

纯Javascript解决方案:

//All of your images with class : class
var images = document.getElementsByClassName("class");

//Iterates through each of the images
for (var i = images.length - 1; i >= 0; i--)
{
    //Sets the images top margin to the half of the height of the image
    images[i].style.marginTop = images[i].style.height / 2;
}
jQuery解决方案:

//All of your images with class : class
var images = document.getElementsByClassName("class");

//Iterates through each of the images
for (var i = images.length - 1; i >= 0; i--)
{
    //Sets the images top margin to the half of the height of the image
    images[i].style.marginTop = images[i].style.height / 2;
}
如果是一个选项,您可以使用该函数在相应的高度设置下对它们进行交互:

$('.class').each(function()
{
    //Get Item Height
    var height = $(this).height();

    //Move Item Down By Half of Height
    $(this).css('margin-top',height/2);
});
更简洁:

$('.class').each(function(){
    $(this).css('margin-top',($(this).height()/2));
});

Rionmonster说了些什么,除了我要补充一点,以获得图像的高度(或任何尺寸),我一直不得不说:

theHeight = parseFloat( element.style.height );

parseFLoat(),因为它将处理parseInt()能够处理的任何事情,而反之则不正确。

谢谢,Rionmonster!我们还没有使用jQuery,但这可能是插入jQuery的充分理由。我去看看,非常感谢!我没有测试它-希望它能工作。如果没有,请告诉我,我将帮助您解决问题。我刚刚注意到您上面的Javascript代码,正在使用它。但是数组不应该被称为“图像”而不是“菜单”吗?(和菜单[i].style]一样)除此之外,这个看起来很不错。当使用“getElementByTagName”而不是ClassName时,我应该会更好(目前,在测试期间,没有其他图像)。给每首歌加上一节课会很痛苦。谢谢你,帮了大忙!Np-我从不同的位置和用法复制了代码,忘记了更改所有内容:)编辑它以反映更新的更改。问题的措辞看起来一定比我想象的要难,但从我的角度看,你希望图像中间对齐,而不是竖起?为什么不直接使用“垂直对齐:中间”
?举一个当前和预期结果的例子会有所帮助。