簡體   English   中英

通過調整圖片網址將圖片裁切為正確尺寸

[英]Crop image to correct size by tweaking the image url

我正在嘗試將Lazyload圖像裁剪為正確的大小。 因此,我在下面給出了簡單的jquery插件,可以通過調整圖像URL來調整圖像大小並將其裁剪為正確的大小。 此jQuery代碼自動將圖像裁剪為正確的大小。 但是,當我使用Lazyload插件加載圖像時,腳本無法裁剪圖像。

JS:

var w = 200;
var h = 150;
$('#crop').find('img').each(function(n, image){
  var image = $(image);
  image.attr({src : image.attr('src').replace(/s\B\d{2,4}/,'s' + w + '-h' + h +'-c')});
  image.attr('width',w);
  image.attr('height',h);
 });

HTML:小提琴: http//jsfiddle.net/kh5btqyu/3/ (沒有Lazyload)

<div id="crop">
<img src=""/>
</div>

Lazyload HTML:小提琴: http : //jsfiddle.net/v2fud3a4/4/ (無法裁剪)

<div id="crop">
<img data-src=""/>
</div>

當我們將圖像src <img src=""/>更改為data-src <img data-src=""/>並且當我們向下滾動頁面時,當圖像獲得窗口視口時,它會替換圖像鏈接<img data-src=""/><img data-src="" src=""/>則圖像將可見。

因此,我的圖片裁剪插件無法找到圖片scr鏈接。 因為對於Lazyload插件,我們具有<img data-src="" src=""/>鏈接。 另一個原因是我的圖像裁剪插件在頁面加載后運行,但是當我們向下滾動頁面並獲取窗口視圖時,Lazyload會在窗口視口上加載圖像。

我的問題是,有什么方法可以運行我的圖片裁剪插件,當lazyload插件將<img data-src=""/>替換為<img data-src="" src=""/> ,意味着我的裁剪插件當Lazyload插件加載圖像時運行。

謝謝。

訣竅是在延遲加載圖像后調用re-sizing功能。

$.extend($.lazyLoadXT, {
    onload:myfunc
});


function myfunc(){
    var w = 200;
var h = 150;
$('#crop').find('img').each(function(n, image){
  var image = $(image);
  image.attr({src : image.attr('src').replace(/s\B\d{2,4}/,'s' + w + '-h' + h +'-c')});
  image.attr('width',w);
  image.attr('height',h);
 });
}

這是小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM