以下是热门jquery-plugin galleria的主页。我需要将下载链接插入活动图像的右下角。现在有可用的统计数据(3/10),它表示列表中的当前数字。 也许有人已经这样做了。什么是最快的方式?
UPD:使用 gearsdigital 的想法我编写了代码:
var gallery = Galleria.get(0);
gallery.bind(Galleria.IMAGE, function(e) {
imgHandle = e.imageTarget;
console.log(imgHandle);
console.log(imgHandle.attr('href'));
//$('.galleria-counter').append('<a href="'+imgHandle.attr('src')+'">Download</a>');
});
第一个日志行显示如下:
<img width="584" height="438" src="http://....jpg" style="display: block; position: relative; left: 0px; top: -4px; opacity: 1;">
但是如何获取src位置,我看到 attr 功能不可用的错误。
答案 0 :(得分:2)
从imgHandle
获取DOMEvent
,而不是jquery对象。
由于attr
是jQuery对象的一部分,因此需要将dom对象传输到jquery对象。
gallery.bind(Galleria.IMAGE, function(e) {
imgHandle = $(e.imageTarget); //Wrap it here
alert(imghandle.attr('href'))
//$('.galleria-counter').append('<a href="'+imgHandle.attr('src')+'">Download</a>');
});
答案 1 :(得分:1)
我会尝试从当前图像中获取当前的Source-Attribute并将其作为链接附加。
//Untested. This is just a suggestion :)
currentImageSource = $('.galleria-image img').attr('src');
$('.galleria-counter').append('<a href="'+currentImageSource+'">Download</a>');
但是像这样的链接会分开打开图像,而不是普通的下载。如果你想要一个“真正的”下载,你必须把这个图像放在一个zip存档。
$('.galleria-counter').append('<a href="'+currentImageSource+'.zip">Download</a>');
这会产生类似的结果:http://www.example.com/galleria/img/mygreatimage.jpg.zip
适合我:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Example</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
currentImageSource = $('.container img').attr('src');
$('.placeholder').append('<a href="'+currentImageSource+'">Download</a>');
});
</script>
</head>
<body>
<div class="container">
<h2>Get img src</h2>
<img src="http://www.duba.at/wp-content/uploads/2007/08/bild_0570000.jpg" witdh="200" height="220"/>
</div>
<div class="placeholder">
<h2>Append Here</h2>
</div>
</body>
</html>