Side navigation
Ticket #5963: produkte.jquery.js
File produkte.jquery.js, 5.0 KB (added by Executter, January 28, 2010 01:10PM UTC)
Whole Script
$(document).ready(function(){
var baseCode = "";
var productsPerPage = 8;
$(".tabbar").addClass("activated");
$(".activated").find("a:first").after("<a id='ie7selector' href='#hersteller'>Hersteller</a>");
$(".tabbar a, #sidebar div.produkte ul li a").css("outline", "none");
pager();
$("a[href='#hersteller']").click(function(){
if( $(this).hasClass("active") ) return false;
baseCode = $("#sidebar div.produkte ul").html();
$(this).parent().removeClass("activated").addClass("activated2");
$(this).parent().find("a").removeClass("active");
$(this).addClass("active");
herstellerArr = new Array();
var i = 0;
$("#sidebar div.produkte ul li a span").each(function(){
if( $.inArray($(this).text(), herstellerArr) < 0 ) {
herstellerArr[i++] = $(this).text();
}
});
herstellerArr.sort();
var nCode = new Array();
var i = 0;
$(herstellerArr).each(function(index, value) {
var thisHersteller = value;
if(thisHersteller) {
nCode[i++] = $("<li/>").text(thisHersteller).addClass("hersteller");
}
else {
nCode[i++] = $("<li/>").text("Ohne Herstellerangabe").addClass("hersteller");
}
$("#sidebar div.produkte ul li a span").each(function(){
if( $(this).text() == thisHersteller ) {
nCode[i++] = $(this).parent().parent();
}
});
});
$("#sidebar div.produkte ul").empty();
$(nCode).each(function(index, value){
$("#sidebar div.produkte ul").append(value).addClass("sortByHersteller");
});
$("#sidebar div.produkte ul li a span").hide();
$("#sidebar div.produkte ul li a:last").addClass("last");
pager(true);
return false;
});
$("a[href='#produkte']").click(function(){
if( $(this).hasClass("active") ) return false;
$(this).parent().removeClass("activated2").addClass("activated");
$(this).parent().find("a").removeClass("active");
$(this).addClass("active");
$("#sidebar div.produkte ul").empty();
$("#sidebar div.produkte ul").append(baseCode).removeClass("sortByHersteller");
pager();
return false;
});
$("div.produkt").hide();
$("div.produkt:first").show();
$("#sidebar div.produkte ul li:first").addClass("aktiv");
$("#sidebar div.produkte ul li a").live("click", function(){
$("#sidebar div.produkte ul li").removeClass("aktiv");
$(this).parent().addClass("aktiv");
aktivesProdukt = $(this).attr("href").substring(1);
$("div.produkt").hide();
$("#" + aktivesProdukt).show();
return false;
});
function pager(tabHersteller) {
var countProducts = $("#sidebar .produkte ul li").length;
var countPages = Math.ceil(countProducts / productsPerPage);
//Generate Pageination
$("#sidebar .produkte .pagination").remove();
$("#sidebar .produkte").append("<div class='pagination'></div>");
for (var i = 1; i <= countPages; i++) {
//$("#sidebar .produkte .pagination").append("<a href='#tabpage" + i + "'>" + i + "</a> ");
//Page Buttons with Event
$("<a/>").attr("href", "#tabpage" + i).text(i).appendTo("#sidebar .produkte .pagination").click(
function(){
var page = $(this).attr("href").replace(/[^0-9]/gi, "");
$("#sidebar .produkte ul li").hide();
var e = 0;
$("#sidebar .produkte ul li").each(function(i){
if(i-e <= productsPerPage * page - 1 && i -e>= productsPerPage * (page - 1) ) {
if( $(this).hasClass("hersteller") ) {
e = e + 1;
}
$(this).show();
}
});
if(tabHersteller == true) {
$(".tmpheadlines").remove();
var tmpLine = $("#sidebar .produkte ul li:visible:first");
if( !$(tmpLine).hasClass("hersteller") ) {
currentHersteller = $(tmpLine).prevAll(".hersteller").eq(0).text();
$("#sidebar .produkte ul li:visible:first").before("<li class='hersteller tmpheadlines'>"+currentHersteller+"</li>");
}
if( $("#sidebar .produkte ul li:visible:last").hasClass("hersteller") ) {
$("#sidebar .produkte ul li:visible:last").hide();
}
}
$("#sidebar .produkte .pagination a").removeClass("aktiv");
$(this).addClass("aktiv");
return false;
}
);
}
//Trigger click on Page 1 Button
$("#sidebar .produkte .pagination a[href^='#tabpage']:first").trigger("click");
//If login in Weblication show ShowAll-Button, with its Event
if( $("#divEditbutton").length > 0) {
$("<a/>").attr("href", "#showAllTabPages").text("Alle").appendTo( "#sidebar .produkte .pagination" ).click(
function(){
$("#sidebar .produkte ul li").show();
$(".tmpheadlines").remove();
$("#sidebar .produkte .pagination a").removeClass("aktiv");
$(this).addClass("aktiv");
}
);
}
}
});
Download in other formats:
Original Format
File produkte.jquery.js, 5.0 KB (added by Executter, January 28, 2010 01:10PM UTC)
Whole Script
$(document).ready(function(){
var baseCode = "";
var productsPerPage = 8;
$(".tabbar").addClass("activated");
$(".activated").find("a:first").after("<a id='ie7selector' href='#hersteller'>Hersteller</a>");
$(".tabbar a, #sidebar div.produkte ul li a").css("outline", "none");
pager();
$("a[href='#hersteller']").click(function(){
if( $(this).hasClass("active") ) return false;
baseCode = $("#sidebar div.produkte ul").html();
$(this).parent().removeClass("activated").addClass("activated2");
$(this).parent().find("a").removeClass("active");
$(this).addClass("active");
herstellerArr = new Array();
var i = 0;
$("#sidebar div.produkte ul li a span").each(function(){
if( $.inArray($(this).text(), herstellerArr) < 0 ) {
herstellerArr[i++] = $(this).text();
}
});
herstellerArr.sort();
var nCode = new Array();
var i = 0;
$(herstellerArr).each(function(index, value) {
var thisHersteller = value;
if(thisHersteller) {
nCode[i++] = $("<li/>").text(thisHersteller).addClass("hersteller");
}
else {
nCode[i++] = $("<li/>").text("Ohne Herstellerangabe").addClass("hersteller");
}
$("#sidebar div.produkte ul li a span").each(function(){
if( $(this).text() == thisHersteller ) {
nCode[i++] = $(this).parent().parent();
}
});
});
$("#sidebar div.produkte ul").empty();
$(nCode).each(function(index, value){
$("#sidebar div.produkte ul").append(value).addClass("sortByHersteller");
});
$("#sidebar div.produkte ul li a span").hide();
$("#sidebar div.produkte ul li a:last").addClass("last");
pager(true);
return false;
});
$("a[href='#produkte']").click(function(){
if( $(this).hasClass("active") ) return false;
$(this).parent().removeClass("activated2").addClass("activated");
$(this).parent().find("a").removeClass("active");
$(this).addClass("active");
$("#sidebar div.produkte ul").empty();
$("#sidebar div.produkte ul").append(baseCode).removeClass("sortByHersteller");
pager();
return false;
});
$("div.produkt").hide();
$("div.produkt:first").show();
$("#sidebar div.produkte ul li:first").addClass("aktiv");
$("#sidebar div.produkte ul li a").live("click", function(){
$("#sidebar div.produkte ul li").removeClass("aktiv");
$(this).parent().addClass("aktiv");
aktivesProdukt = $(this).attr("href").substring(1);
$("div.produkt").hide();
$("#" + aktivesProdukt).show();
return false;
});
function pager(tabHersteller) {
var countProducts = $("#sidebar .produkte ul li").length;
var countPages = Math.ceil(countProducts / productsPerPage);
//Generate Pageination
$("#sidebar .produkte .pagination").remove();
$("#sidebar .produkte").append("<div class='pagination'></div>");
for (var i = 1; i <= countPages; i++) {
//$("#sidebar .produkte .pagination").append("<a href='#tabpage" + i + "'>" + i + "</a> ");
//Page Buttons with Event
$("<a/>").attr("href", "#tabpage" + i).text(i).appendTo("#sidebar .produkte .pagination").click(
function(){
var page = $(this).attr("href").replace(/[^0-9]/gi, "");
$("#sidebar .produkte ul li").hide();
var e = 0;
$("#sidebar .produkte ul li").each(function(i){
if(i-e <= productsPerPage * page - 1 && i -e>= productsPerPage * (page - 1) ) {
if( $(this).hasClass("hersteller") ) {
e = e + 1;
}
$(this).show();
}
});
if(tabHersteller == true) {
$(".tmpheadlines").remove();
var tmpLine = $("#sidebar .produkte ul li:visible:first");
if( !$(tmpLine).hasClass("hersteller") ) {
currentHersteller = $(tmpLine).prevAll(".hersteller").eq(0).text();
$("#sidebar .produkte ul li:visible:first").before("<li class='hersteller tmpheadlines'>"+currentHersteller+"</li>");
}
if( $("#sidebar .produkte ul li:visible:last").hasClass("hersteller") ) {
$("#sidebar .produkte ul li:visible:last").hide();
}
}
$("#sidebar .produkte .pagination a").removeClass("aktiv");
$(this).addClass("aktiv");
return false;
}
);
}
//Trigger click on Page 1 Button
$("#sidebar .produkte .pagination a[href^='#tabpage']:first").trigger("click");
//If login in Weblication show ShowAll-Button, with its Event
if( $("#divEditbutton").length > 0) {
$("<a/>").attr("href", "#showAllTabPages").text("Alle").appendTo( "#sidebar .produkte .pagination" ).click(
function(){
$("#sidebar .produkte ul li").show();
$(".tmpheadlines").remove();
$("#sidebar .produkte .pagination a").removeClass("aktiv");
$(this).addClass("aktiv");
}
);
}
}
});