Smoothzoom 画像ズーム プラグインに jQuery クリック バインドを使用しています。ただし、angularjs で実装するとバインディングが機能しません。私は角度とjQueryが初めてです。だから助けてください。
これは私のズーム用のjQuery関数です。実際には、href から image_url を取得しようとしています。
jQuery(function($){
$('.zoom_thumbnails').find('li a').each(function (){
$(this).bind('click', {src: $(this).attr('href')}, function (e){
$('#zoom_container').smoothZoom('destroy').css('background-image', 'url(css/zoom_assets/preloader.gif)').smoothZoom({
image_url: e.data.src,
width: '100%',
height: '300%',
});
return false;
});
}).eq(0).trigger('click');
});
私のhtmlコードは以下です。
<div id="zoom_container"></div>
<ul class="zoom_thumbnails">
<div ng-repeat="image in zoomImages">
<li><a href={{image.img}} data-size="500,400">
<img src={{image.img}} style="height: 15%">
</a></li>
</div>
</ul>
画像が配列 zoomImage に格納されているコントローラーを使用しています。画像の URL をハードコードしようとすると、正常に動作します。しかし、ng-repeat を使用している間、バインディングは jQuery では発生しません。この問題を解決するのを手伝ってください。コントローラーだけでなく、htmlページ内にjQuery関数を配置してみました。