I’m making a site using FreeWall and I’m having trouble when I use the appendBlock
method to add new blocks to the wall. When I add new blocks, I get the same blocks that I already have again.
Here is my code (JavaScript):
// Populate grid with initail images.
// This is going to get the first 10 images (1.jpg → 10.jpg)
// and add them to the grid for the initial page setup.
// This is working fine.
var temp = "<div class='fwbrick' style='width:{width}px;'><a href='#' data-reveal-id='modal-{modal}'><img src='http://yamsandwich.com/img/profile/{index}.jpg' width='100%'></a></div>";
var w = 1,
h = 1,
html = '',
limitItem = 10;
for (var i = 0; i < limitItem; ++i) {
w = 1 + 3 * Math.random() << 0;
html += temp.replace(/\{width\}/g, w * 150).replace("{modal}", i + 1).replace("{index}", i + 1);
}
// create add more button
$(".add-more").click(function() {
var temp = "<div class='fwbrick' style='width:{width}px;'><a href='#' data-reveal-id='modal-{modal}'><img src='http://yamsandwich.com/img/profile/{index}.jpg' width='100%'></a></div>";
var w = 1,
h = 1,
html = '',
limitItem = 10;
// The problem is right here.
// I don’t know how to tell it to find images 11 to 20 or X to Y.
// Right now, it just repeats the first 10.
// Even when I set `i` to `10` to start, I still just get images 1 – 10 over again.
for (var i = 1; i < limitItem; ++i) {
w = 1 + 3 * Math.random() << 0;
html += temp.replace(/\{width\}/g, w * 150).replace("{modal}", i + 1).replace("{index}", i + 1);
}
wall.appendBlock(html);
});
// target the div for the wall
$("#freewall").html(html);
// create the walls structure
var wall = new Freewall("#freewall");
wall.reset({
selector: '.fwbrick',
animate: true,
cellW: 150,
cellH: 'auto',
onResize: function() {
wall.fitWidth();
}
});
// load the images into the wall
var images = wall.container.find('.fwbrick');
images.find('img').load(function() {
wall.fitWidth();
});
So what I would like to know is, how to get the counter in the add-more
function to get the next 10 blocks in the sequence.
See it in action at the link in the first sentence or if you missed that, click here.