Hi all,
I've been playing around with the awesome Infinite Scroll jQuery plugin to get it to work with Ning 3.0 photos.
Tested on V1 Aloe theme and V2 Infinity theme
What does this tip do? Instead of seeing the pagination buttons at the bottom of your photos page, you'll instead get the next page of photos automatically loading below those already there.
Here's what you need to do:
1) Load the jquery.infinitescroll.min.js on your site by adding the following code to Social Site Manager > Custom Code > End of Page code
<script type="text/javascript" src="https://storage.ning.com/topology/rest/1.0/file/get/956929?profile=original"></script>
2) Go to Social Site Manager > Sites & Pages and select your Photo content instance. Open the Below Header HTML box and insert the following code, depending on which Design Studio theme version you're using:
Click to Enlarge
VERSION 1 Theme
<script type="text/javascript">
xg.addOnRequire(function () {
x$(document).ready(function() {
x$('.matrix .row .span:has(.matrix-itemFrame)').addClass('photoListPage-entry');
var curPage = 1;
var pagesNum = x$(".pagination").find(".pagination-number.pagination-last").text(); // Number of pages
x$('.photoListPage .matrix .row').infinitescroll({
navSelector : ".pagination",
// selector for the paged navigation (it will be hidden)
nextSelector : ".pagination-next",
// selector for the NEXT link (to page 2)
itemSelector : ".matrix .row .span",
// selector for all items you'll retrieve
loading: {
img: "https://storage.ning.com/topology/rest/1.0/file/get/557270?profile=original",
msgText: "Loading more photos ..."
},
},function() { // Optional callback when new content is successfully loaded
curPage++;
if(curPage == pagesNum) {
x$(window).unbind('.infscr');
} else {}
});
});
});
</script>
VERSION 2 theme
<script type="text/javascript">
xg.addOnRequire(function () {
x$(document).ready(function() {
var curPage = 1;
var pagesNum = x$(".pagination").find(".pagination-number.pagination-last").text(); // Number of pages
x$('.grid-frame.sheet ul.matrix.row').infinitescroll({
navSelector : ".pagination",
// selector for the paged navigation (it will be hidden)
nextSelector : ".pagination-next",
// selector for the NEXT link (to page 2)
itemSelector : ".photoListPage-entry",
// selector for all items you'll retrieve
loading: {
img: "https://storage.ning.com/topology/rest/1.0/file/get/557270?profile=original",
msgText: "Loading more photos ..."
},
},function() { // Optional callback when new content is successfully loaded
curPage++;
if(curPage == pagesNum) {
x$(window).unbind('.infscr');
} else {}
});
});
});
</script>
3) Now add this css in the Design Studio Custom CSS (this positions the loading gif) - both V1 and V2 of Design studio:
#infscr-loading {
margin: 20px;
text-align: center;
}
See it in action here (on my messy sandbox site - sorry!)
Enjoy
SP
Notes:
i) The method i've used here adds script to the 'Below Header Ad' box in order to get round the fact that photo pages no longer have a standard Body class css selector (i.e. it's determined by your page name). I wanted this to work for everyone. However, you can include the script in the End of Page code by targeting the photo page specific body class selectors should you wish to avoid adding it in the below header ad box.
ii) The documentation on the Infinite Scroll jQuery plugin site is patchy to say the least. Much of it is outdated.
iii) You can change the loading gif image and the text that accompanies it by altering the following code as it appears above:
loading: {
img: "https://storage.ning.com/topology/rest/1.0/file/get/557270?profile=original",
msgText: "Loading more photos ..."
}
Replies
i love u
Hello SP. awesome I love it. Any example? running this function?
http://www.incontrirock.it/foto/Me+stessa+%28F%29
And I give my example in the post as well.
Hello dear SP. Thank u for the example sorrry i dont see urs :) I try this wonderful code on my network but can't open the dashboard control after see all photos. :( i always let open 2 or 3 tabs of my network for precaution when i add new codes. so i put it out just for now. But i really love this one from you.
very odd. i don't get this error. do you mean the green Ning dashboard buttons in the top left?
yes
not sure why that would be. what theme are you using?
Wood Zen theme :)
Hi SP. I found why can't open the dashboard that happens just when I open my own profile and then wanna open the dashboard. But when I go to home page can open it as well. Thank you for let us using this wonderful tip.