jquery - jquery 隐藏/显示内容切换器内的多个 FlexSlider。

标签 jquery flexslider

我有一个 jquery 内容切换器,当单击相应的链接时,它会显示/隐藏 div。每个 Div 内部都有一个 FlexSlider。第一个 Flex slider 工作得很好,但是当您单击链接以显示不同的 Div 时,Flex slider 就会困惑,它会同时显示所有 3 张幻灯片。如果您对浏览器窗口进行散焦和重新聚焦(单击桌面以使窗口散焦,然后在窗口中单击返回以重新聚焦),则弯曲 slider 可以正常工作。虽然这是一个需要解释的问题,但最好还是看看它的实际情况。该网站是:http://www.benhenschel.com

“Web”是第一个工作正常的 slider ,但如果您单击“移动”,则会出现第二个 Flex slider ,您可以看到它同时显示所有 3 张幻灯片。如果您对浏览器窗口进行散焦并重新聚焦,则 Flex slider 将正确显示。

这是内容切换器和 Flex slider 的代码

<!--Hide/Show-->
    <script type="text/javascript" charset="utf-8">
        $(function(){

function contentSwitcher(settings){
    var settings = {
       contentClass : '.workContent',
       navigationId : '#navigation'
    };

    //Hide all of the content except the first one on the nav
    $(settings.contentClass).not(':first').hide();
    $(settings.navigationId).find('li:first').addClass('active');

    //onClick set the active state, 
    //hide the content panels and show the correct one
    $(settings.navigationId).find('a').click(function(e){
        var contentToShow = $(this).attr('href');
        contentToShow = $(contentToShow);

        //dissable normal link behaviour
        e.preventDefault();

        //set the proper active class for active state css
        $(settings.navigationId).find('li').removeClass('active');
        $(this).parent('li').addClass('active');

        //hide the old content and show the new
        $(settings.contentClass).hide();
        contentToShow.show();

    });
}
contentSwitcher();
});

    </script>

    <!--Flex Slider-->
    <script type="text/javascript" charset="utf-8">
    $(window).load(function() {
    $('.flexslider').flexslider();
    });
    </script>

这是 HTML

                <!-- Web -->
                <div id="webContainer" class="workContent flexslider">
                    <h3>Web</h3>
                    <ul class="slides">
                        <!-- Slide 1 -->
                        <li>
                            <div class="workImage">
                                <img src="/images/work/urbanSurvivorWeb.jpg" alt="" />
                            </div>

                            <div class="workDescription">
                                <h4>Urban Survivor</h4>
                                <p>
                                    The goal of this project, was to create a teaser page for a iPhone app called Urban Survivor. This simple one page site was designed to introduce the app, and generate interest. By providing a email sign up that interest can be measured.
                                    <br /><br />
                                    <a href="http://www.urbansurvivorapp.com">Visit Site</a> 
                                </p>
                            </div>
                        </li>

                        <!-- Slide 2 -->
                        <li>
                            <div class="workImage">
                                <img src="/images/work/taykey.jpg" alt="" />
                            </div>

                            <div class="workDescription">
                                <h4>Taykey</h4>
                                <p>
                                    I was tasked with redesigning Taykey's website, the goal was to better communicate what Taykey had to offer, and how Taykey works. Additionally, provide general information about the company, jobs available as well as contact information for the various offices. The redesign also aimed at brining a more concise visual brand across other Taykey marketing material.                               
                                    <br /><br />
                                    <a href="http://www.taykey.com">Visit Site</a> 
                                </p>
                            </div>
                        </li>

                        <!-- Slide 3 -->
                        <li>
                            <div class="workImage">
                                <img src="/images/work/ireland.jpg" alt="" />
                            </div>

                            <div class="workDescription">
                                <h4>I'm Off To Ireland</h4>
                                <p>
                                    This was a personal website I created so I could share my experiences while studying abroad in Waterford, Ireland.                              
                                    <br /><br />
                                    <a href="http://www.imofftoireland.com">Visit Site</a> 
                                </p>
                            </div>

                        </li>

                    </ul>
                </div>
                <!-- END Web -->

                <!-- Mobile -->
                <div id="mobileContainer" class="workContent flexslider">

                    <h3>Mobile</h3>
                    <ul class="slides">

                        <!-- Slide 1 -->
                        <li>
                            <div class="workImage">
                                <img src="/images/work/urbanSurvivor/app.png" alt="" />
                            </div>

                            <div class="workDescription">
                                <h4>Urban Survivor iPhone App</h4>
                                <p>
                                    Urban Survivor alerts the user when they have physically entered an area with a high crime rating. Additionally, the user will be able to check the threat level of their current physical location and see a broader view of their surroundings through the use of a heat map. Both the threat meter and the heat map use a simple, color-coded visual cue (green = low, yellow = neutral, red = high). Finally, there is a panic button dials 911 when pressed.                                
                                </p>
                            </div>
                        </li>

                        <!-- Slide 2 -->
                        <li>
                            <div class="workImage">
                                <img src="/images/work/urbanSurvivor/wireframe.jpg" alt="" />
                            </div>

                            <div class="workDescription">
                                <h4>Urban Survivor App: Wireframe</h4>
                                <p>
                                    A major requirement for this app was a super simple navigation. After several iterations we landed on having two buttons in the top left and right hand corner of the screen that, when taped, would swipe left/right reveling the content of the new screen. As an alternate to this navigation, the user would swipe left or right with their fingers to also revel the content.                                   
                                </p>
                            </div>
                        </li>

                        <!-- Slide 3 -->
                        <li>
                            <div class="workImage">
                                <img src="/images/work/urbanSurvivor/workflow.jpg" alt="" />
                            </div>

                            <div class="workDescription">
                                <h4>Urban Survivor App: User Workflow</h4>
                                <p>
                                    This flowchart shows the entire user workflow, and how the user could interact with the app.                                 
                                </p>
                            </div>
                        </li>
                    </ul>

                </div>
                <!-- END Mobile -->

我真的不太了解 jQuery,所以任何帮助将不胜感激。

最佳答案

好吧,在尝试了不同的选项卡系统和自制的 jquery 解决方案之后,我以不同且极其简单的方式解决了相同的问题!

您只需创建第一个幻灯片,包含 5 张幻灯片,并在每张幻灯片中放置另一个 flexslider。将 controlNav 设置为 true 并使用您的导航 html 结构设置 manualControls。

这是我的设置:

//first slideshow
  $('.flexslider_cont').flexslider({
    animation: "slide",
    slideshow: 0,
    useCSS: true,
    controlNav: true,
    selector: ".slides_l1 > .slide_l1",
    manualControls: "#navorizzontale li", //navigation structure
    directionNav: false,

  });     

        $('.flexslider2a').flexslider({
          animation: "slide",
          slideshow: 0,
          useCSS: true,
          controlNav: false,
          directionNav: true,
        });

        $('.flexslider2b').flexslider({
          animation: "slide",
          slideshow: 0,
          useCSS: true,
          controlNav: false,
          directionNav: true
        });

      $('.flexslider2c').flexslider({
          animation: "slide",
          slideshow: 0,
          useCSS: true,
          controlNav: false,
          directionNav: true
        });

        $('.flexslider2d').flexslider({
          animation: "slide",
          slideshow: 0,
          useCSS: true,
          controlNav: false,
          directionNav: true
        }); 

关于jquery - jquery 隐藏/显示内容切换器内的多个 FlexSlider。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13096548/

相关文章:

javascript - 在 Jquery 1.8.0 中不使用 CSS 选择器的替代方案是什么?

javascript - 高度不是函数

jquery - Flexslider 轮播溢出

jquery - FlexSlider 显示 3 张主图像,而不是一张

image-preloader - Flexslider - 图像预加载器

css - slider 周围显示空白 - 我尝试了两个不同的 slider 并且发生了同样的事情?

jquery - 使用Jquery将单个UL LI列表转换为基于类的层次嵌套列表

javascript - 启动 jquery fadeToggle 隐藏

javascript - HTMLCanvasContext.drawImage() 在传递使用 jQuery 找到的图像时失败

javascript - Flexslider 忽略 animationLoop : True