Плагин Galleria jquery

Вот домашняя страница популярного jquery-плагина 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 недоступна.


person Max Frai    schedule 19.09.2010    source источник


Ответы (2)


Я бы попытался получить текущий атрибут источника из текущего изображения и добавить его как ссылку.

//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>
person gearsdigital    schedule 19.09.2010

вы получаете 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>');
});
person RobertPitt    schedule 19.09.2010