问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery 网页链接的缩略图怎么生成

发布网友 发布时间:2022-05-10 22:15

我来回答

1个回答

热心网友 时间:2022-04-21 01:51

jqthumb是一款实用的响应式按比例生成图片缩略图的jQuery插件。
jqthumb可以按照用户设定的比例、尺寸、位置等属性来生成新的缩略图,在老的浏览器中它还能够替代background-size属性。
jqthumb兼容性超强,可以工作在所有现代浏览器甚至是IE6+上,jQuery
1.3以上版本即可运行。它还可以在Zepto(通过zepto-data插件)v1.1.3+上运行。

这个jquery插件可以帮助我们按比例生成图片缩略图。大家可能知道在处理缩略图的时候使用 background-size: cover; 可以解决许多棘手问题。但是 background-size: cover; 在IE6、IE7和IE8下不能正常工作。而该插件正是弥补了这个缺陷。

使用方法

使用以下的简单html结构:

<div style="width: 100%; height: 400px;">
<img src="path/picture.jpg" class="example1" />
</div>
<div style="width: 400px; height: 400px;">
<img src="path/picture.jpg" class="example2" />
</div>
<button id="kill">Kill</button>
<button id="kill-all">Kill All</button>

在页面中引入jQuery和jqthumb.min.js文件:

<script type="text/javascript" src="scripts/jquery.min.js"></script>
<script type="text/javascript" src="scripts/jqthumb.min.js"></script>

然后按下面方法调用插件:

<script type="text/javascript">
$(function(){
// plugin initialization
$('img').jqthumb({
classname : 'jqthumb', // class name. DEFUALT IS jqthumb
width : '100%', // new image width after cropping. DEFAULT IS 100px.
height : '100%', // new image height after cropping. DEFAULT IS 100px.
position : {
x : '50%', // x position of the image. DEFAULT is 50%. 50% also means centerize the image.
y : '50%' // y position of the image. DEFAULT is 50%. 50% also means centerize the image.
},
source : 'src', // to specify the image source attribute. DEFAULT IS src.
show : false, // TRUE = show immediately after processing. FALSE = do not show it. DEFAULT IS TRUE.
responsive : 20, // used by older browsers only. 0 to disable. DEFAULT IS 20
zoom : 1, // zoom the output, 2 would double of the actual image size. DEFAULT IS 1
method : 'auto', // 3 methods available: "auto", "modern" and "native". DEFAULT IS auto
before : function(oriImage){ // callback before each image starts processing.
alert("I'm about to start processing now...");
},
after : function(imgObj){ // callback when each image is cropped.
console.log(imgObj);
},
done : function(imgArray){ // callback when all images are cropped.
for(i in imgArray){
$(imgArray[i]).fadeIn();
}
}
});

// kill command
$('#kill').click(function(){
$('.example1').jqthumb('kill');
});

// kill all command
$('#kill').click(function(){
$.jqthumb('killall');
});
});
</script>

BOWER

bower install jqthumb

可用参数

source:图片的URL属性。例如:<img src="path/image.jpg" />的source是 src。

$('img').jqthumb({
source : 'attr-src' // DEFAULT: src
});

classname:生成的缩略图的class名称。当你想使用外部css来渲染缩略图时该参数十分有用。

$('img').jqthumb({
width : 200, // DEFAULT: 100
height : '100%' // DEFAULT: 100
});

position:通过 X 和 Y作为关键参数来定义一个对象。y用于跳转缩略图上下位置,x用于跳转缩略图的左右位置。注意: position.x 和 position.y必须在定义的width和height的范围里面。如果你用百分比来定义position.x 和 position.y,请确保它们在0-100%之间。

$('img').jqthumb({
position: {
x : 20, // DEFAULT: '50%'
y : '30%' // DEFAULT: '50%'
}
});

show:是否在处理完成后显示缩略图:

$('img').jqthumb({
show : false // DEFAULT: true
});

responsive:该参数只是在浏览器不支持 CSS3 的时候才使用。为了在旧的浏览器上完成响应式效果,该插件在$(window).resize()事件被触发的时候会重新计算。设置为0则在旧的浏览器中不使用响应式效果。在现代浏览器中不支持禁用响应式特性,可以使用method :"native"来禁止它。

/* responsive only works for native method / older browsers */
$('img').jqthumb({
responsive : 10 // DEFAULT: 20
});

/* to disable responsive feature in modern method / browsers, switch method to native */
$('img').jqthumb({
method : 'native', // DEFAULT: auto
responsive : 0 // DEFAULT: 20
});

zoom:放大或缩小缩略图:

$('img').jqthumb({
zoom : 3 // DEFAULT: 1
});

method:该按比例是否缩略图插件提供两种方法:一种使在浏览器支持 CSS3 的时候使用,一种是浏览器不支持CSS3的时候使用。有时候你可能需要切换这两种方法来做些测试。默认情况下,该插件会自动检测浏览器是否支持CSS3然后调用相应的方法。

$('img').jqthumb({
method : 'native' // Availability: "auto", "modern", "native". DEFAULT: auto
});

before:这是在计算开始前的一个回调函数。该函数以参数的形式返回原始图片的source和对象。如果你在初始化的时候使用了多个对象class名称,那么这个函数会被调用两次。

$('img').jqthumb({
before : function(originalImage){
console.log(originalImage);
}
});

after:这是在计算结束后的一个回调函数。该函数以参数的形式返回新生成的缩略图对象。如果你在初始化的时候使用了多个对象class名称,那么这个函数会被调用两次。

$('img').jqthumb({
after : function(newThumb){
$(newThumb).fadeIn();
}
});

done:这是在所有图片对象都被处理完毕后的一个回调函数。它返回所有缩略图的数组对象。

$('img').jqthumb({
done : function(thumbnails){
for(i in thumbnails)
$(thumbnails[i]).fadeIn();
}
});

可用命令

$('img').jqthumb('kill'); // destroy the plugin
$.jqthumb('killall'); // destroy all generated thumbnails on the page

更多的使用方法

...
<img src="path/image.jpg" />
...
<script type="text/javascript">
$(function(){
$('img').jqthumb({
width : 300,
height : 200
});
});
</script>

...
<div data-jqthumb-src="path/image.jpg"></div>
...
<script type="text/javascript">
$(function(){
$('div').jqthumb({
source : 'data-jqthumb-src'
});
});
</script>

...
<div style="width: 100%; height:500px;">
<img src="path/image.png" />
</div>
...
<script type="text/javascript">
$(function(){
$('div').jqthumb({
width : '100%',
height : '100%'
});
});
</script>

...
<img class="my-img" data-jqthumb-src="path/image1.png" data-jqthumb-width="200" data-jqthumb-height="200" />
<img class="my-img" data-jqthumb-src="path/image2.png" data-jqthumb-width="200" data-jqthumb-height="180" />
<img class="my-img" data-jqthumb-src="path/image3.png" data-jqthumb-width="200" data-jqthumb-height="160" />
<img class="my-img" data-jqthumb-src="path/image4.png" data-jqthumb-width="200" data-jqthumb-height="140" />
<img class="my-img" data-jqthumb-src="path/image5.png" data-jqthumb-width="200" data-jqthumb-height="120" />
...
<script type="text/javascript">
$(function(){
$('.my-img').each(function(){
var $img = $(this);
$img.jqthumb({
source : $img.attr('data-jqthumb-src'),
width : $img.attr('data-jqthumb-width'),
height : $img.attr('data-jqthumb-height')
});
});
});
</script>

...
<img class="my-img" src="path/image.jpg" />
...
<script type="text/javascript">
$(function(){
$('.my-img').jqthumb({
width : 300,
height : 300,
show : false, // By default the image would be shown immediately after processing. To disable, set it to false
after : function(croppedImg){ // This callback returns an object
$(croppedImg).fadeIn(); // This would fade in the cropped image
}
});
});
</script>

...
<img class="my-img" src="path/image1.jpg" />
<img class="my-img" src="path/image2.jpg" />
<img class="my-img" src="path/image3.jpg" />
...
<script type="text/javascript">
$(function(){
$('.my-img').jqthumb({
width : 300,
height : 300,
show : false, // By default the image would be shown immediately after processing. To disable, set it to false
done : function(allCroppedImgs){ // This callback returns an array
for(i in allCroppedImgs){
$(allCroppedImgs[i]).fadeIn(); // This would fade in the cropped images one by one
}
}
});
});
</script>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁能给个单机版的风云之雄霸天下啊?? 求风云雄霸天下PC单机游戏WIN7版 雄霸天下任务指南 开心网001老房子卖了以后家具还有吗? 为什么001开心网买房子组件删除仓库里的东西都没了 请教一下,开心001的开心庄园里面的建材有好多富余的的 除了5元一个卖... 开心网001小号怎么给大号送房子? 开心网001多少级能送别人房子?多少级能接受别人给的房子? 开心网001果实或家具能送人吗 开心网(kaixin001)怎么买外地房子? 请教一个问题,python调用c程序dll,调用dll中的文件操作函数,有些是成功的,而有些会出错,这是为什么 人的祖宗是什么? 老祖宗说的好男一身毛,好女一身膘,是什么意思? 上啃祖宗骨头下啃孙子肉是什么意思 祖宗虽远,祭祀不可不诚,子孙虽愚,经书不可不读的意思到底是什么 祖宗是指活着的人还是死去的人? “祖宗味的小仙女”的繁体字是什么? 不供祖宗是什么意思 男生说我是祖宗是什么意思? 一身祖宗味什么意思 我租的门面房,签了一年,现在转让,要经过甲方同意即可,欲转让做餐饮,但房东不允许做餐饮? 万界独尊林枫林香儿在一起了吗 我想租个门面房,做餐饮方面,我想知道租房子时应该跟房东交涉些什么,需 ... 长沙哪里健康管理师机构正规,求推荐 本人租有一个门面做餐饮,与房东签订五年合同,房租一年一缴!房东一 万界独尊的白衣女人是谁 我有一个门面租给别人做餐饮合同上写有因不可抗力互不担责现在在他以那一条为? 西瓜结瓜后就从结瓜的那个地方开始瓜秧子就死了。是甚么缘由?怎样解决这个问题? 为什么西瓜老是刚结果很小第二天就不长了啊然后就死了 有没有人了解哈尔滨龙洋律师事务所? 我的QQ密码老是被盗怎么办? 上海绿牌车“井喷”,仍有造车新势力未能逢时 C#怎么在内存中生成图片缩略图 220v 7KW大功率电器用什么插头插座?四根线的 怎么链接? 上海限行政策调整了,听大家说新能源送绿牌,有啥车型推荐的? 烤箱电压220v功率2500w能用家里的插座吗 如何实现将用户上传的文件生成缩略图!求解答 QQ密码老被盗 怎么办 飞行家220v插座可载多少功率? 如何在网站里加入自动缩略图代码 javaWeb怎么实现根据内容生成缩略图 QQ密码老被盗怎么办啊?而且电脑显示没病毒! 220v的插座6kw用多大的铜线? 虎牙盛世传媒工会是不是白金公会 什么听书软件比较好,听书要有字幕的。急 哪款听书软件能听英语,还能带字幕 如果给网页生成缩略图 以前拼音没学好,有什么手机软件能够快速学习拼音打字…… 亚特兰蒂斯是否真正存在? 请问乙肝大三阳该做一些什么有利于保肝护肝呢?