2012-09-22 2 views
0

У меня есть страница, где я вывожу следующееJavascript Навигация Выход (уменьшенная)

Это HTML в шаблоне

<ul id="process"><span>Process: </span> 

Это мой уменьшенная Javascript (functions.js)

$(window).load(function() { 
    var a = $("#slider").children("img"); 
    currentIndex = 0; 
    slideCount = a.length; 
    fadeDuration = 1E3; 
    navigation = $("#process"); 
    navCnt = 0; 
    navNumFix = 1; 
    for (i = 0; i < slideCount; i++) navigation.append('<li><a href="#" class="navItem" data="' + navCnt+++'">' + navNumFix+++"</a></li>&#32;"); 
    $(".navItem").click(function() { 
     var b = $(this).attr("data"), 
      c = currentIndex; 
     currentIndex = b; 
     c != currentIndex && ($(a[c]).fadeOut(fadeDuration), $(a[currentIndex]).fadeIn(fadeDuration)) 
    }) 
}); 

Для моего ползунка это все выдает тег ul и прикрепляет элемент списка через Javascript следующим образом:

<ul id="process"><span>Process: </span> 
<li><a href="#" class="navItem" data="0">1</a></li> 
<li><a href="#" class="navItem" data="1">2</a></li> 
</ul> 

Вместо вывода тега ul в моем шаблоне, как я могу вывести тег ul только тогда, когда сценарий требует его? Подобный элемент списка выше.

ответ

1

Это должно сделать ... положить шаблон в дисплее ни на первый, а затем показывать его после добавления списка ваших элементов:

<ul style="display:none" id="process"><span>Process: </span></ul> 

Javascript:

$(window).load(function() { 
    var a = $("#slider").children("img"); 
    currentIndex = 0; 
    slideCount = a.length; 
    fadeDuration = 1E3; 
    navigation = $("#process"); 
    navCnt = 0; 
    navNumFix = 1; 
    for (i = 0; i < slideCount; i++) navigation.append('<li><a href="#" class="navItem" data="' + navCnt+++'">' + navNumFix+++"</a></li>&#32;"); 
    $(".navItem").click(function() { 
     var b = $(this).attr("data"), 
      c = currentIndex; 
     currentIndex = b; 
     c != currentIndex && ($(a[c]).fadeOut(fadeDuration), $(a[currentIndex]).fadeIn(fadeDuration)) 
    }) 

    // Display the ul if there are slides 
    if(slideCount > 0) 
     navigation.show(); 
}); 

EDIT: Добавлен условие, чтобы показать ul только при наличии слайдов

+0

К сожалению, это то, что скрывает элемент ul при загрузке, а затем появляется, даже когда нет элементов списка, которые будут показаны. –

+0

Там вы, @ChristopherBurton – billy

+0

Спасибо, Билли. Отлично. –

Смежные вопросы