私はfreewall.jsを使って画像を表示したいギャラリーで作業していますが、唯一の問題はfreewall.jsには能力が含まれていないことですクリックすると画像が拡大されます。freewall.jsとfancybox.jsをRailsプロジェクトでクリック可能な拡大画像に組み合わせる
fancybox.jsを追加しました。ファンシーボックスの仕事をするためにhrefが必要なので接続するのが面倒でしたが、freewall.jsは呼び出されるたびに乱数を作成して2回呼び出すと動作しませんでした。ここで私が始めたコードと以下の解決策を紹介します。私はこれが、他のコーダーが非常に洗練された、反応がよく、簡単にギャラリーを実装するのを助けてくれることを願っています。
ここは私の最初のhtmlです。ここで
<div class="row">
<div class="col-md-12">
<div id="freewall" class="free-wall"></div>
</div>
</div>
私の開始のJavascript
ここ$(document).ready(function() {
$(".fancybox").fancybox();
});
var temp = "<div class='brick' style='width:{width}px;'><a href='#' class='fancybox'><img src='../assets/carousel/{index}.jpg' width='100%'></a></div>";
var w = 1, h = 1, html = '', limitItem = 20;
for (var i = 0; i < limitItem; ++i) {
w = 1 + 3 * Math.random() << 0;
html += temp.replace(/\{width\}/g, w*160).replace("{index}", i + 1);
}
$("#freewall").html(html);
var wall = new Freewall("#freewall");
wall.reset({
selector: '.brick',
animate: true,
cellW: 150,
cellH: 'auto',
onResize: function() {
wall.fitWidth();
}
});
var images = wall.container.find('.brick');
images.find('img').load(function() {
wall.fitWidth();
});