Показать сообщение отдельно
  #5 (permalink)  
Старый 13.10.2013, 14:13
Аспирант
Отправить личное сообщение для Round Посмотреть профиль Найти все сообщения от Round
 
Регистрация: 08.04.2012
Сообщений: 49

Все сделал сам.

Может кому пригодится - вот решения:

1. что бы сделать заглушку для пустых букв немного изменил код подсчета букв и повесил фейд-ин для нового элемента с классом "blank", а в этот элемент положил свой текст-заглушку.

2. что бы убрать пустые якоря, дописал поиск следующего брата и если его нет, то элемент прячем. вернее, у меня вышло зеркально - я сначала спрятал все якоря, а потом дисплей-блок только для тех у которых есть брат с нужным мне классом.

3. третье решение я описал выше...

Вот что в итоге получилось:

$("a").click(function(){
  $(".active-ing").removeClass("active-ing");
  $(this).addClass("active-ing");
});


var all_spans = $('.alpha-row .accordion-inner').hide();

$('.alpha-row a').click(function(e){
    var thisSpan = $(this).parent().find('.accordion-inner'),
        isShowing = thisSpan.is(":visible");

    // Hide all spans
    all_spans.hide();

    // If our span *wasn't* showing, show it
    if (!isShowing) {
        thisSpan.show();
    }

    e.preventDefault();
});


var triggers = $('.alphabet-nav a');
var filters = $('.alpha-box ing');
$(".noresult").hide();

triggers.click(function() {
	var takeLetter = $(this).text(),
		count = 0;
	filters.parent().hide();
	$(".noresult").hide();

	$.each(filters, function(i, item) {
		var compareFirstLetter = $(item).text().substr(0, 1);
		if (compareFirstLetter == takeLetter) {
			$(item).parent().fadeIn(222);
			count++;
		}
	});

	if (count === 1) {
		$(".noresult").fadeIn(22);
	}
});


$(".alpha-box .alpha-row").sort(asc_sort).appendTo('.alpha-box');
 //$("#debug").text("Output:");

function asc_sort(a, b){
        return ($(b).text()) < ($(a).text()) ? 1 : -1;    
    }


$(".ing-letter").next('.ing-list').each(function() {
  $(this).prev().css({display: 'block'});
});
Ответить с цитированием