当 <ul> 中只有 1 个 <li> 时,如何更改任何内容滑块以禁用下一个/上一个按钮?

Posted

技术标签:

【中文标题】当 <ul> 中只有 1 个 <li> 时,如何更改任何内容滑块以禁用下一个/上一个按钮?【英文标题】:How can I alter anythingSlider so that it disables the next / previous buttons when only 1 <li> in the <ul>? 【发布时间】:2010-05-12 00:48:06 【问题描述】:

我有一个页面,上面有多个anySlider 实例,我正在使用php 动态加载页面以换出其中的内容。

参考:http://ceedcreative.com/CEED_2.0/

如果它显示的 UL 中只有一个 LI,我想编辑anythingSlider 以禁用上一个/下一个按钮。

换句话说,没有按钮,只有一个干净的 div,如果只有一个图像,则高度和宽度相同(无滚动)。

【问题讨论】:

【参考方案1】:

试试这个

$('.anythingSlider:not("#topSlider")').each(function(i, slider) 
    // If any slider has less than 2 let members
    if ( $("ul li", slider).length < 2 ) 
        // don't apply the slider functionality
        return;
    

    $(slider).anythingSlider(
        easing: "easeInOutExpo",
        autoPlay: false,
        delay: 3000,
        startStopped: false,
        animationTime: 600,
        hashTags: false,
        buildNextPrevButtons: true,
        buildNavigation: false
    );
);

如果由于某种原因这不起作用,此 sn-p 将检查每个anythingSlider 的列表长度并隐藏任何长度仅为1 的列表的箭头按钮(在排除前后克隆之后) .

$(".anythingSlider").each(function(i, slider) 
    if ( $("ul li", slider).not(".cloned").length == 1 ) 
        $(".arrow", slider).hide();
    
);

【讨论】:

太棒了!我一直试图解决这个问题太久了。谢谢,非常感谢贾斯汀。我添加了您提出的代码并从溢出编辑CSS:auto;溢出:隐藏;这似乎成功了! 你在 ff 3.6.3 中有一些疯狂的滚动条

以上是关于当 <ul> 中只有 1 个 <li> 时,如何更改任何内容滑块以禁用下一个/上一个按钮?的主要内容,如果未能解决你的问题,请参考以下文章

For 循环并将 <li> 添加到 <ul> 多次

当一些 <ul> 没有 <li> 子元素时,从 <ul> 数组中抓取 <li>

将 css 样式添加到仅包含子项的列表项

jquery获取ul下的第1,3,5,7,9个li

css如何修改<ul>中第二个<li>、第三个<li>的字体颜色

在多个父母中选择第 n 个孩子