当前位置: 首页 > 知识库问答 >
问题:

“裁剪”图像的脚本间歇运行。

和魁
2023-03-14

我正在使用一些javascript使图像看起来被裁剪。我基本上是找到高度超过400px的图像,找到它们有多少像素超过400px,将其拆分,并在顶部和底部制作负边距。然后,我将图像包装在一个div中,作为一个框架,图像位于该框架后面

由于某些原因,脚本偶尔会运行。有时,它会正确裁剪高度超过400px的所有。特色图像img图像(主页上只有一个特色图像,需要裁剪)。其他时候,脚本不会检测到任何此类图像,因此不会进行裁剪。

我在一个$(document).ready()调用中运行脚本,所以我不确定是什么导致了一个竞争条件。

链接

该网站:http://new.technoheads.org/(刷新几次,看看我的意思)

不正确:http://technoheads.org/grabs/DK6.png

对的:http://technoheads.org/grabs/GQP.png

共有1个答案

轩辕源
2023-03-14

您正在检查图像的高度属性,这些属性不一定存在于document ready上(document ready并不意味着图像已加载)。在$(window).load()中绑定该函数,或者在$('img').load()函数中绑定该函数。

例子:

$(".featured-image img").load(function() {
    var $e = $(this);

    if ( $e.height < 400 ) return;

    var overflow = featuredHeight - $e.height();
    var top      = overflow / 2;
    var bottom   = overflow / 2;

    if ( overflow % 2 == 1 ) top++;

    $e.css({
        "margin-top": top + "px", 
        "margin-bottom": bottom + "px"
    });
});

 类似资料:
  • 我试图在从图库中选择图像后使用intent来裁剪图像。以下是我的代码片段 在这里,我使用PICK_IMAGE_REQUEST意图句柄调用上面的代码段 由于我在裁剪后使用了相同的意图,即PICK_IMAGE_REQUEST,可能会出现什么问题

  • 我将<code>背景 1.back_xml: 2.瓷砖.xml 现在,我将back.xml设置为< code >背景以< code>LinearLayout工作正常。 我需要有一个圆角,以及它的边框。但是我只有圆角的边框,而不是图像,我的代码中有什么问题吗? 这是我的照片:

  • 本节,我们将裁剪图像的一部分,然后把其结果绘制到画布上。 图3-2 裁剪图像 绘制步骤 按照以下步骤,裁剪图像的一部分,再把结果绘制到画布: 1. 定义画布上下文: window.onload  = function(){ var canvas  = document.getElementById("myCanvas"); var context  = canvas.getContext

  • 问题内容: 下面的代码可以很好地裁剪图像,这是我想要的,但是对于较大的图像,它也可以正常工作。有什么办法可以缩小图像吗? 想法是,在裁剪之前,我将能够使每个图像的大小大致相同,以便每次都能获得良好的效果 代码是 问题答案: 如果要生成缩略图,则必须首先使用调整图像大小。您必须调整图像的大小,以使图像较小侧的尺寸等于拇指的相应侧。 例如,如果源图像为1280x800px,拇指为200x150px,则

  • 问题内容: 我正在尝试裁剪图像,然后将裁剪后的图像粘贴到另一个图像的中心。理想情况下,我希望裁切后的图像小于粘贴的图像,以便在粘贴的图像周围有一个边框,但我不知道这样是否可行。 这是我尝试过的方法(以及由此产生的错误消息): 我可以看到“区域”的大小已设为(0,0),但我不明白为什么。 任何对此的帮助将非常感谢 问题答案: 裁剪方法的PIL文档指出: 返回当前图像的矩形区域。该框是一个四元组,定义

  • 问题内容: 如何使用JavaFX 完成Android ? 我有图像视图: 问题答案: 感谢@TravisF的发布,我实现了最后一个解决方案,以使图像始终具有相同的高度,宽度和位置(中心)。