javascript - jQuery 自动滚动图像

标签 javascript jquery slideshow

我正在为我为 friend 设计的网站创建一个简单的小幻灯片。到目前为止,我可以通过单击图像来显示/隐藏相应的图像来完美地工作。我试图让它自动滚动图像,但它似乎不起作用。这是我的代码:

<script type="text/javascript">
$(function() // run after page loads
{
  $('.slide1t').show();

  $('.slide2').click(function()
  { 
    $('.slide2t').show();
    $('.slide1t').hide();
    $('.slide3t').hide();
    $('.slide4t').hide();
  });
  $('.slide1').click(function()
  { 
    $('.slide1t').show();
    $('.slide2t').hide();
    $('.slide3t').hide();
    $('.slide4t').hide();
  });
  $('.slide3').click(function()
  { 
    $('.slide3t').show();
    $('.slide1t').hide();
    $('.slide2t').hide();
    $('.slide4t').hide();
  });
  $('.slide4').click(function()
  { 
    $('.slide4t').show();
    $('.slide1t').hide();
    $('.slide2t').hide();
    $('.slide3t').hide();
  });
});

</script>

这是我用来在单击时隐藏/显示图像的代码。可以使用切换来缩短这个时间吗?

这就是我试图让它们自动滚动的方法:

<script type="text/javascript">
$(function() // run after page loads
{
  $('.slide1t').show([1000]),
  $('.slide1t').hide(),
  $('.slide2t').show([1000]),
  $('.slide21t').hide(),
  $('.slide3t').show([1000]),
  $('.slide3t').hide(),
  $('.slide4t').show([1000]),
  $('.slide4t').hide()
});

</script>

我尝试了同一代码的其他方面,试图让它做一些事情,但没有成功。

<div id="slideshow">

        <div class="text"> 
            <a class="slide1" href="#"><img src="images/1.png" width="240" height="60" /></a>
            <a class="slide2" href="#"><img src="images/2.png" width="240" height="60" /></a> 
            <a class="slide3" href="#"><img src="images/3.png" width="240" height="60" /></a> 
            <a class="slide4" href="#"><img src="images/4.png" width="240" height="60" /></a>
        </div>

        <div class="image">        
            <a class="slide1t" href="#"><img src="images/image1.png" width="525" height="210" /></a>
            <a class="slide2t" href="#"><img src="images/image1.png" width="525" height="110" /></a>
            <a class="slide3t" href="#"><img src="images/image1.png" width="525" height="170" /></a>
            <a class="slide4t" href="#"><img src="images/image1.png" width="525" height="190" /></a>
        </div>

    </div>

我查看了文档,发现您可以使用 .show([duration],[easing],[callback]) 但我真的不知道要在其中输入什么。

谢谢大家

最佳答案

您是否正在制作幻灯片,可以看到当前幻灯片左侧和右侧的上一张和下一张幻灯片,或者只是一张幻灯片淡入另一张幻灯片?

如果是后者,您可以使用这个非常简单的代码来执行此操作。

HTML:

<div class="image">        
    <img src="images/image1.png"  />
    <img src="images/image2.png"  />
    <img src="images/image3.png"  />
    <img src="images/image4.png"  />
</div>

CSS:

.image
{
    position:relative;
}

.image img
{
   position:absolute;
   top:0;
   left:0;
}

jQuery:

$(function() {

    $('.image img:gt(0)').hide(); // to hide all but the first image when page loads

    setInterval(function()
    {
        $('.image :first-child').fadeOut(1000)
            .next().fadeIn(1000).end().appendTo('.image');
    },5000);        
}

这基本上就像一副纸牌一样对图像进行洗牌。 5000(5秒)是淡入淡出的间隔,1000(1秒)是淡入淡出动画的速度。

要实现此功能,您必须在包含的 div 上使用 position:relative 并使用 position:absolute 将图像置于彼此之上。

jsFiddle demo

关于javascript - jQuery 自动滚动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17631346/

相关文章:

javascript - 单个文本区域中的按钮值

android - 在 iPad 和 Android 上大延迟执行声音

javascript - Jquery 关闭父点击

video - 使用 ffmpeg 构建具有滑动过渡的图像幻灯片时出现问题

javascript - jQuery 动画在 Firefox 中断断续续

javascript - session 更改时函数中的 meteor react

javascript - Jquery 平滑滚动动画无法正常工作

javascript - 如何使用 Javascript 检测当前窗口是否在另一个窗口后面

javascript - 如何迭代 DataTables 2.1 中的对象数组

jquery - 幻灯片按钮