javascript - jquery 中的无限水平图像库

标签 javascript jquery gallery infinite

我正在尝试做无限水平图像画廊,但无法解决一些问题。我有一个具有 100% 宽度的 div 和第二个 div 内部具有非常大的宽度,因此图像可以彼此相邻。我正处于测试阶段所以函数在页面加载后立即运行,因此图库向左移动第一个图像宽度的边距,然后必须将其作为最后一个子附加,它看起来像这样工作,但在第一次附加它与另一个图像一起发生之后。我怎样才能避免它?我的第二个问题是当我想在悬停时移动,例如在某个箭头上移动,只要我超过那个,我怎样才能正确地循环这个函数?非常感谢。

这是fiddle.

HTML

<div id="slider">
    <div id="slide-container">
        <div class="slide" id="slide"><img src="clique.jpg"></div>
        <div class="slide"><img src="rollyx.jpg"></div>
        <div class="slide"><img src="grafrollyx.jpg"></div>
        <div class="slide"><img src="grafagent.jpg"></div>
        <div class="slide"><img src="grafrollyx.jpg"></div>                            
    </div>
</div>

JavaScript

function slider(){
    var what = $('#slide').width();


    $('.slide').first().animate({marginLeft: -(what)}, 0, setTimeout(function() {
        $('.slide')
            .first()
            .appendTo($('.slide').parent())
            .css({ marginLeft: 0 });
    }, 1000))
}

最佳答案

我想这是一个更好的方法

这是一个FIDDLE画廊。

  1. 将所有图像放入隐藏的 div 中

  2. 克隆它们并将它们放入可见的 div 中

  3. 通过更改左边距来为图像添加动画

  4. 您可以通过设置间隔功能调整图像之间的时间

  5. 您可以通过动画时间来调整滑入时间。

JS

var pictxtnumber = 1;
loadpictxt(pictxtnumber);

var fadeintime = 500;
animatediv();

function animatediv()
{
    var number = 0;
    var interval = setInterval(function() { 
                                           pictxtnumber = pictxtnumber + 1;
                                           if(pictxtnumber > 6)
                                             {
                                              pictxtnumber = 1;
                                              }
                                           loadpictxt(pictxtnumber);

                                           }, 1000);
}

function loadpictxt(num)
{
  $('.picturediv').html('');
  $(".hiddenimage img:nth-child(" + num + ") ").clone().appendTo('.picturediv');
  $('.picturediv img').css('margin-left', '100px');
  $('.picturediv img').animate({marginLeft: "0"}, 100);    
}

关于javascript - jquery 中的无限水平图像库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609749/

相关文章:

javascript - 如何根据 Gmail 登录用户过滤 HTML 表格数据

jquery - 试图找到最接近的类(class)的家长

android - 如何将 Android 应用程序连接到基于 Web 的数据库

wordpress - WordPress 中的图片库

javascript - Google Charts API - 如何向它传递 JSON 数据?

javascript - TypeError : image. elevateZoom is not a function : Failure in Magento 1. 9 RWD 主题

javascript - 如何分别将可拖动元素附加到多个可放置 div

javascript - 使用 'overflow: hidden' (CSS) 和 jQuery 阻止用户滚动加载页面

Android Gallery(查看)视频(也是缩略图问题)

html - 想要在我的画廊中并排放置图片 (Html)