0

我有一个页面,我输出以下内容

这是我模板中的 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 标签?有点像上面的列表项。

4

1 回答 1

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();
});

编辑:添加了仅在有幻灯片时才显示 ul 的条件

于 2012-09-22T03:32:29.857 回答