用jQuery显示rollover的完整版缩略图?

时间:2011-04-12 15:11:56

标签: jquery regex image wordpress photos

当我指定要显示的尺寸时,WordPress会以缩小的尺寸创建新图像,所以当我选择300 x 230时,它会将此文件生成为图像源:

http://example.com/myphoto-300x230.jpg

来自这个完整版本的版本:

http://example.com/myphoto.jpg

我正在使用插件扩展翻转时的300x230。展开的视图是300x230被炸毁,这是模糊的。有没有办法在翻转时显示全尺寸版本,所以默认情况下是myphoto-300x230.jpg但翻转时是myphoto.jpg?我需要正则表达式文件名来摆脱维度的数字吗?

3 个答案:

答案 0 :(得分:1)

您可以将原始图像的路径存储在图像标记的另一个属性中,而不是正则表达式,例如fullsize:

<img src="http://example.com/myphoto-300x230.jpg" fullsize="http://example.com/myphoto.jpg" />

然后只需在悬停函数中获取此属性的值。

答案 1 :(得分:1)

您可以使用Regex来做到这一点。这是一个正则表达式:

(?<url>(?:http|ftp|https):\/\/[\w\-_]+(?:\.[\w\-_]+)+(?:[\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?\/)(?<file>\w+-[0-9]+x[0-9]+\.\w+)

取组“文件”,然后适当地修改它,然后将“url”中的文本添加到它以获取正确的URL:)

答案 2 :(得分:1)

这方面的正则表达式如下:
s/-\d+x\d+././

假设您的img元素的ID为fixme ...

var src = $("#fixme").attr('src');
console.log("old image: " + src);

var newimage = src.replace(/-\d+x\d+./, ".");
console.log("new image: " + newimage);

$("#fixme").attr('src', newimage);

见,例如:http://jsfiddle.net/entropo/pyww7/

为避免尴尬的过渡,您需要确保预加载完整尺寸的图像。