2010-09-19 1 views
1

вот эта страница популярного jquery-plugin galleria. Мне нужно вставить ссылку для загрузки в правый нижний угол для активного изображения. Теперь есть статистика, подобная (3/10), которая показывает текущий номер из списка. Возможно, кто-то уже это сделал. Какой самый быстрый способ?Galleria jquery plugin


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 location, я вижу ошибку, что attr функция не доступна BLE.

ответ

1

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

//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> 
+0

Посмотрите на обновление, пожалуйста. – Ockonal

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>'); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^