Czy można to zapisać zgodnie z założeniami DRY - jquery

0
<div class="applicationsHelper showList">
	<ul class="toggleList">
		<li class="bullet_yellow">
			<a class="underline_hover" style="display:block;" href="#">
				Z<br><span style="font-size: 9px;">D12</span>
			</a>
		</li>
		<li class="bullet_yellow hidden-li" style="display: none;">
			<a class="underline_hover" style="display:block;" href="#">
				Z<br><span style="font-size: 9px;">091201514143</span>
			</a>
		</li>
	</ul>
	<div class="loadList">Rozwiń (1)</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
    $('.loadList').each(function(){
            var tmp = $($(this).siblings($($('.showList').children('.toggleList')))).children('.hidden-li');
            var toLoad = tmp.length;
            var load = "Rozwiń (" + toLoad + ")";
            $(this).html(load);
        });
    });
</script>

<script type="text/javascript">
$(document).ready(function(){

    $('.loadList').click(function(){

            var tmp = $($(this).siblings($($('.showList').children('.toggleList')))).children('.hidden-li');
            tmp.toggle();

            if( tmp.is(':visible')){
                $(this).html("Zwiń");
            } else {
                var toLoad = tmp.length;
                var load = "Rozwiń (" + toLoad + ")";
                $(this).html(load);
            }
        });
    });
</script>
  1. Jest to lista, na której pracują dwa powyższe skrypty. Powtarza się ona kilka razy na stronie w różnych komórkach tabel.
  2. Skrypt nr 1 ma za zadanie policzyć ile jest elementów ukrytych i podać tą wartość jako Rozwiń (x).
  3. Skrypt nr 2 odpowiedzialny jest za rozwijanie listy i pokazywanie elementów ukrytych oraz jej zwijanie.

O co chodzi?

Musiałem dodać skrypt nr 1 ponieważ js nie zliczał ilości ukrytych elementów po załadowaniu strony tylko po kliknięciu Rozwiń->Zwiń, co jest dosyć logiczne bo przecież tak mu kazałem, ale nie miałem innego pomysłu jak to rozwiązać. Czy jest to jedyne wyjście??

2

Zaczontek refaktoringu

https://jsfiddle.net/7c70bwux/

1 użytkowników online, w tym zalogowanych: 0, gości: 1