- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 PhotoTags 的类,它有一个名为 getScalePercent() 的函数。在getScalePercent中,我做了一个涉及显示图像的宽度和高度的简单计算,并返回一个值。在 PhotoTags 的渲染函数中,我使用坐标数据将元素应用到照片上。仅当图像已加载 100% 时,此逻辑才能正常工作。如果我刷新页面足够多次,我可以看到我的逻辑实际上是在正确设置坐标,但只有在图像被缓存或快速加载后。因此我想使用 imagesLoaded 来检查图像是否已加载,以便有效地使用坐标。
我的函数如下所示:
getScalePercent(){
var p =0;
var targetWidth = $('.expanded-image').width();
var targetHeight = $('.expanded-image').height();
p = (targetWidth / 1920);
return p;
}
在我的渲染函数中,我尝试使用 imagesLoaded 来检查在使用 getScalePercent() 之前图像是否已加载:
render(){
var p = 0;
$('.expanded-image').imagesLoaded().done( function() {
p = this.getScalePercent();
});
console.log(p); //But value is still 0
//I then want to use p later in the render function
我的变量p没有在imageLoaded的.done事件中被操作。我知道它与异步调用有关,但我尝试将 imagesLoaded 放入 getScalePercent() 但无济于事。我还尝试对 getScalePercent() 和许多其他变体进行回调,但仍然无济于事。基本上我想做的是在 imagesLoaded 的 .done() 事件中触发 getScalePercent() 。然后,我希望能够在 PhotoTags 的渲染函数中使用 getScalePercent() 返回的值(当图像完全加载时)。非常感谢任何帮助。
最佳答案
在图像上添加 onLoad 事件不是更好吗,如下所示:
class Test extends Component {
constructor (props){
super(props);
this.state = {
imgLoaded:false
}
}
handleImgLoaded (event){
// Do stuff
console.log(event.target);
this.setState({
imgLoaded:true
});
}
render (){
<div className={'img-wrapper-class ' + (this.state.imgLoaded ? 'img-loaded' : 'img-loading')}>
<img src={"somesrc.jpg"} onLoad={this.handleImgLoaded.bind(this)} />
</div>
}
}
关于javascript - 与 imagesLoaded 进行 react ,并解析最终渲染的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39231703/
我已经查看了与此处类似的问题,但仍然无法弄清楚我的问题。我在一个网站上有几张图片,我想以砖石风格订购。但是,有时它们会相互堆叠,因此我尝试添加 imagesLoaded 函数,但出现错误:$(...)
出现此错误,尝试将 Masonry 与 imageLoaded 结合使用: "Object # has no method 'imagesLoaded'" 必要脚本的链接在我的标题中: 下面是代码
我遇到了 this question 中描述的相同问题。但似乎没有正确答案。 我正在尝试使用 require.js 加载“loadImages”库,但我明白了 Uncaught TypeError:
这里是 RequireJS 新手。尝试将一些我以前工作正常的 JQuery 代码转换为使用 RequireJS 工作。 我的页面标题通过脚本标签加载三个 JS 文件 - require.js 本身、我
我使用 jQuery Isotope 创建水平布局,将具有 100% 高度的 DIV 彼此相邻对齐,并将每个 DIV 内的图像垂直居中。因此,我像这样调用同位素,并且在 Chrome 中一切正常(本地
这是我的尝试,但没有成功。它会触发,但加载的图像不会“淡入” 附Jsfiddle:http://jsfiddle.net/NgwTa/ var insert = ""; $('.clickit
我一直在使用 JQuery 砌体,现在我正在添加无限滚动。几乎每个砖石“砖”中都有图像,在我使用无限滚动之前,图像加载得很好,一切都很棒。我为无限滚动添加了 javascript 的下一部分,并在里面
需要帮助调试一小段脚本。 我使用“masonry”插件以平铺方式排列多个 div。该脚本似乎工作正常,除了我收到错误 jQuery (intermediate value).imagesLoaded
我想我已经很接近解决这个问题了,但我不精通 javascript 和 jquery。我尝试使用的解决方案是 imagesLoaded ( http://imagesloaded.desandro.co
Masonry 和 imagesLoaded 应该加载并正常工作。已经建立了一个类似的站点,并且可以正常运行。我不知道我的问题出在哪里,所以我希望你能看到问题所在。应该是少了什么。 在 Chrome
所以,我收到 $container.imagesLoaded is not a function 错误。 这是位于标题中的代码: (function ($, root, undefined) {
我正在我正在开发的 WordPress 主题上使用 jquery masonry。在努力让它工作一段时间后,我发现: jQuery(function () {
我正在使用Isotope plugin用于 WordPress 页面的网格。我想使用 Isotope 的 imagesLoaded 选项以避免加载页面时页面上的图像重叠。有人可以向我解释在现有代码中的
我有以下代码: $.ajax({ url: API + "item/" + item_id.replace('-',':'), beforeSend: function
您好,我是网络开发新手。我正在努力使用 Yii 1.1 的 JS 函数:isotope-jquery。试图展示一个无限滚动的砖石图像画廊。如果我保持原样,它就可以工作,但是当使用图像时,它们最终会全部
我有一个名为 PhotoTags 的类,它有一个名为 getScalePercent() 的函数。在getScalePercent中,我做了一个涉及显示图像的宽度和高度的简单计算,并返回一个值。在 P
所以我正在学习 AngularJS,并且正在构建一个小型网络应用程序,该应用程序允许您随机单击图像。基本上,您单击“下一个”按钮,就会下载并显示图像,当您单击“后退”按钮时,它会转到堆栈中的上一个图像
我有 Masonry 插件和 Images Loaded 插件,但 imagesloaded 似乎无法正常工作。当我刷新页面时,div 重叠。只有在调整浏览器窗口的大小后,重叠才会自行纠正。有时刷新后
我正在制作一个网站,其中所有内部链接都使当前页面淡出而新页面淡入。现在这对我来说非常有用。问题是我正在尝试将它与出色的砖石插件结合起来。在第一个页面加载砌体确实工作,但我似乎无法弄清楚如何通过 aja
当我有两个使用 Imagesloaded 的函数时,我的预加载器不显示。当我禁用一个图像加载时工作正常。需要有使用三四个依赖的能力。 我的预加载器 div 和 SCSS。 /library/
我是一名优秀的程序员,十分优秀!