$(document).ready(function (){ //Make a true copy of the UL before we mess with it $("#alumni-slider ul").clone().appendTo("body").addClass("hidden").attr("id", "master"); //Set up our click functionality $("#filter-list li a").click(function() { var listItems, filters, sliderName; var filterClass = $(this).attr("class"); if(filterClass != "all") { sliderName = "alumni_" + filterClass; $("#alumni-slider").before('
'); $("#alumni-slider ul.slides").clone().prependTo("#" + sliderName); $("#alumni-slider").hide(); listItems = $("#" + sliderName + " .slides li" ); listItems.each(function(idx, li) { var slide = $(li); if(!slide.hasClass(filterClass)) slide.remove(); }); filters = $("#filter-list li a"); filters.each(function(idx, a) { var filter = $(a); if(!filter.hasClass(filterClass)) $("#alumni_" + filter.attr("class")).remove(); }); $('#' + sliderName).flexslider({ slideshow: false, controlNav: false, prevText: "«", nextText: "»", animation: "slide", slideToStart: 0, start: function(slider) { if (slider.currentSlide != 0) { slider.flexAnimate(0)//move the slider to the first slide (Unless the slider is also already on the first slide); } }, after: function(slider) { var thisSlide = slider.slides.eq(slider.currentSlide + 1); }, end: function(slider) { if (slider.currentSlide != 0) { slider.flexAnimate(0)//move the slider to the first slide (Unless the slider is also already on the first slide); } } }); var alumniSlider = $('#' + sliderName).data('flexslider'); alumniSlider.flexAnimate(0); } else { $("#alumni-slider").show(); filters = $("#filter-list li a"); filters.each(function(idx, a) { var filter = $(a); $("#alumni_" + filter.attr("class")).remove(); }); } return false; }); $('.limit-text').keyup(function () { limits($(this), 280); }); }); function limits(obj, limit) { var text = $(obj).val(); var length = text.length; if (length > limit) { $(obj).val(text.substr(0, limit)); return false; } else { // alert the user of the remaining char. I do alert here, but you can do any other thing you like //alert(limit - length + " characters remaining!"); return true; } }