0

我在我正在构建的一个小型 WordPress 网站上使用Nivoslider 3.1 版。

我想知道是否有办法告诉 Nivoslider始终忽略幻灯片 1。

因此,如果我的 HTML 是:

<div id="slider" class="slider nivoSlider">
<img src="1.jpg" /> <!-- Ignore this ALWAYS -->
<img src="2.jpg" />
<img src="3.jpg" />
<img src="4.jpg" />
</div>

因此,滑块将始终从 2.jpg 开始,并且永远不会显示 1.jpg。这可能吗?

这是Nivoslider Demo供参考。

这是一个奇怪的解决方法,我同意,但是当我使用 foreach 循环填充滑块时,我当前的滑块实现不起作用。它确实填充了它,但滑块卡在“加载”上。

作为记录,这是我当前的实现:

<div id="slider" class="slider nivoSlider">
                <?php
                    $id = get_the_ID();
                    $custom_fields = get_post_custom($id);
                    $my_custom_field = $custom_fields['img1'];
                    foreach ( $my_custom_field as $key => $value ) {
                        echo '<img src="/wp-content/themes/boilerplate/images/csg-50c8a86d6bfc0.png" height="350" width="620">';
                    }
                ?>
                </div>

非常感谢您对此提供的任何帮助。

4

2 回答 2

1

根据您下载的特定版本的 nivoslider/您可能对其进行的特定编辑:

寻找幻灯片放映.js

并编辑该行

startSlide: 0, // Set starting Slide (0 index)

在第一个循环中跳过它

还有......(我在这里很紧张)

在 jquery.nivo.slider 中编辑函数...

$.fn.nivoSlider = function(options) {

    //Defaults are below
    var settings = $.extend({}, $.fn.nivoSlider.defaults, options);

    return this.each(function() {
        //Useful variables. Play carefully.
        var vars = {
            currentSlide: 0,
            currentImage: '',
            totalSlides: 0,
            randAnim: '',
            running: false,
            paused: false,
            stop:false
        };

这样您就可以对幻灯片的绝对数量进行硬编码,并且它应该在达到 1.jpg 之前重新启动循环。

不确定这是否可行——像这样硬编码这样的元素通常不是一个好主意;您还希望删除用户控件以防止手动导航到该幻灯片。

它确实引出了一个问题:为什么要包含一张您永远不想显示的幻灯片?

于 2012-12-13T11:58:27.930 回答
-1

以上对我不起作用..对有用的(跳过第四张图片)是这样的:

   $('#slider').nivoSlider({
       prevText: '',
       nextText: '',
       controlNav: false,
       beforeChange: function ()
       {
           var current = $('#slider').data('nivo:vars').currentSlide;
           //if the currentIndex = 2, the next will be 3, which is the fourth image, 
           //which is the one I wanted to skip
           if(current == 2)
           {
               $('#slider').data('nivo:vars').currentSlide = 3;
           }
       }
   });

对于第一张图片,您可能应该说 if current == * last-index * { ... currentSlide = 0 }

于 2014-07-15T10:51:01.910 回答