3

我正在尝试使用 CarouFredSel 在 div 中显示不同的图像,这些图像需要在开始时隐藏并在稍后单击某个按钮时可见。但它没有像我预期的那样工作。但是当我在开始时将 div 设置为可见时,我可以毫无问题地隐藏和显示这个 div。所以我正在寻找是否有人可以帮助我解决隐藏和显示 CarouFredSel div 的问题。

CSS:

.wrapper {
    background-color: white;
    width: 92%;
    margin: 10px auto;
    padding: 50px;
    box-shadow: 0 0 5px #999;
    display:none;
}
.list_carousel {
    background-color: #ccc;
    margin: 0 0 30px 30px;
    width: 95%;
}
.list_carousel ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: block;
}
.list_carousel li {
    font-size: 40px;
    color: #999;
    text-align: center;
    width: 140px;
    height: 42px;
    padding: 0;
    margin-left: 3px;
    margin-right: 3px;
    margin-top: 6px;
    margin-bottom: 6px;
    display: block;
    float: left;
}
.clearfix {
    float: none;
    clear: both;
}
.prev {
    float: left;
    margin-left: 10px;
}
.next {
    float: right;
    margin-right: 10px;
}

显示 CarouFredSel 的 html 是这样的:

<body>
    <div class="wrapper">
        <div class="list_carousel">
            <ul id="foo2">
                <li>
                    <img src="images/itcells.png" s alt="" />
                </li>
                <li>
                    <img src="images/itcells.png" alt="" />
                </li>
                <li>
                    <img src="images/itcells.png" alt="" />
                </li>
                <li>
                    <img src="images/itcells.png" alt="" />
                </li>
                <li>
                    <img src="images/itcells.png" alt="" />
                </li>
            </ul>
            <div class="clearfix"></div>    <a id="prev2" class="prev" href="#">&lt;</a>
    <a id="next2" class="next"
            href="#">&gt;</a>

        </div>
        <br />
    </div>
    <input type="button" id="hide" />
    <input type="button" id="show" />
</body>

jquery调用如下:

$(document).ready(function () {    
    $('#show').click(function () {    
        $(".wrapper").animate({
            "opacity": "show"
        }, 1000);    
    });
    $('#hide').click(function () {    
        $(".wrapper").animate({
            "opacity": "hide"
        }, 1000);    
    });    
});
$(function () {    
    //Scrolled by user interaction
    $('#foo2').carouFredSel({
        auto: false,
        prev: '#prev2',
        next: '#next2',
        pagination: "#pager2",
        mousewheel: true,
        swipe: {
            onMouse: true,
            onTouch: true
        }
    });    
});         

请帮我显示和隐藏 div。

4

1 回答 1

3

为了完成这项工作,我改变了一些东西(使用工作 jsFiddle 示例,教程后的链接):

  1. 删除未使用的 DIV
  2. 更新和清理 CSS 样式
  3. 改进的轮播设置:项目、可见和滚动
  4. 在函数中转换 Carousel
  5. 为按钮添加了值
  6. 为视觉示例添加了 Placehold.it 图像
  7. 更新了显示和隐藏功能以显示轮播

这就是结果。

HTML

<div class="wrapper">         
      <ul id="foo2">
           <li><img src="http://placehold.it/100x100"/></li>               
           <li><img src="http://placehold.it/100x100"/></li>  
           <li><img src="http://placehold.it/100x100"/></li>  
           <li><img src="http://placehold.it/100x100"/></li>  
           <li><img src="http://placehold.it/100x100"/></li>  
           <li><img src="http://placehold.it/100x100"/></li>  
           <li><img src="http://placehold.it/100x100"/></li>  
           <li><img src="http://placehold.it/100x100"/></li>  
       </ul>
       <a id="prev2" class="prev" href="#">&lt;</a>
       <a id="next2" class="next" href="#">&gt;</a>
 </div>         
 <input type="button" id="hide" value="hide" />
 <input type="button" id="show" value="show" />    

CSS

.wrapper {
    height: 100px;
    position: relative;
    background - color: white;
    margin: 10px auto;
    padding: 50px;
    box - shadow: 0 0 5px #999;display:none;}
.clearfix {float: none;clear: both;}
.prev {position: absolute;z-index: 9;top: 50%;left:10px;}
.next {position: absolute;z-index: 9;top: 50%;right:10px;}
# foo2 {margin: 0;padding: 0;}
#foo2 li {
        display: block;
        float: left;
        height: 100px;
        text - align: center;
        width: 100px;
        color: #8cabbf;display: block;}
# foo2 li img {border: 1px solid#dfe9ee;}

JAVASCRIPT

$(document).ready(function () {
    $('#show').click(function () {
        $(".wrapper").animate({
            "opacity": "show"
        }, 1000);
        generateCarousel();
    });
    $('#hide').click(function () {
        $(".wrapper").animate({
            "opacity": "hide"
        }, 1000);
    });

    function generateCarousel() {
        //  Scrolled by user interaction
        $('#foo2').carouFredSel({
            auto: false,
            responsive: false,
            items: {
                visible: 3,
                width: 100
            },
            width: 600,
            prev: '#prev2',
            next: '#next2',
            pagination: "#pager2",
            swipe: {
                onMouse: true,
                onTouch: true
            }
        });
    }
});

Here is a working demo.

于 2013-03-28T11:57:45.453 回答