Ich arbeite an einer Galerie, wo ich die Bilder mit freewall.js anzeigen möchte das einzige Problem ist, dass freewall.js die Fähigkeit nicht enthält um Bilder bei Klick zu vergrößern.Kombination von freewall.js und fancybox.js für anklickbare vergrößerte Bilder in einem Rails-Projekt
Also fancybox.js hinzugefügt, die Fenaggling zu verbinden, wie Sie eine href benötigen, um fancybox Arbeit zu machen, aber die freewall.js erstellt eine zufällige Zahl jedes Mal, wenn es aufgerufen wurde, so zweimal aufrufen würde nicht funktionieren. Hier ist der Code, mit dem ich begonnen habe und die Lösung unten. Ich hoffe, dass dies anderen Programmierern hilft, die eine sehr schlanke, reaktionsfähige und einfach zu implementierende Galerie suchen.
Hier ist meine Startseite html.
<div class="row">
<div class="col-md-12">
<div id="freewall" class="free-wall"></div>
</div>
</div>
Hier mein beginnt 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();
});