姑且使用这个标题来描述这个问题。
情况就是我的一个网站用 Twitter 那种居中显示图片一部分的方法来显示图片,我的原理就是前端载入图片时给 $('img') 定义 CSS
但是不是每次又都有效果,最后发现可能是因为图片的缓存原因,
我尝试的解决方法是
var el = $('img');
el.one("load", function() {
/*do something, for me I wanna make the image center visible, so I make these moves, the parent of img element is overflow:hidden =>
var marginTop = 0;
if($(this).height()>253){
marginTop = ($(this).height()-253) /2;
marginTop = '-'+marginTop+'px';
}
$(this).css('margin-top',marginTop);
*/
}).each(function() {
if(this.complete) $(this).load();
});
以前的实现方式:
var el = $('img');
el.on('load',function(){
//do something
})
似乎能解决问题,求高手正解 …
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.