【问题标题】:Simple jQuery slideshow with counter, thumbnails, progress bar and fade effect带有计数器、缩略图、进度条和淡入淡出效果的简单 jQuery 幻灯片
【发布时间】:2016-05-16 03:51:34
【问题描述】:

我正在尝试创建我的第一个网站,并且希望获得一些帮助来创建带有图像的滑块。

我试图用谷歌搜索我的问题的解决方案,在尝试修复我在网上找到的插件后,我没有设法让它工作。我没有使用 javascript 的经验。

我正在尝试制作一个简单的滑块。导航计数器,如 2 / 32。底部的小进度条。页面底部的小缩略图。

图像大小大约为 250kb,它们将显示大约 20 到 30 张图像......所以我不确定我们是否也应该对脚本进行某种预加载。?

有什么帮助吗?我尝试了我在网上找到的这段代码,但没有成功:

https://jsfiddle.net/ufb6dwLx/

jQuery(function($){
    //previous slide
    $('.slideshow .prev').click(function() {
         prevSlide($(this).closest('.slideshow').find('.slides'));
    });
    //next slide
    $('.slideshow .next, .slideshow img,').click(function() {
         nextSlide($(this).closest('.slideshow').find('.slides'));
    });
    //initialize show
    iniShow();
    function iniShow() {
    // show first slide with caption
    $('.slideshow').each(function() {
        showSlide($(this).find('.slides'));
    });
    }
    // move previous slide 
    function prevSlide($slides) {
    $slides.find('img:last').prependTo($slides);
        showSlide($slides);
    }
    // move next slide 
    function nextSlide($slides) {
         $slides.find('img:first').appendTo($slides);
         showSlide($slides);
    }
    // show slide with caption
    function showSlide($slides) {
         var $nextSlide = $slides.find('img:first');
         //hide (reset) all slides
         $slides.find('img').hide();
         //fade in next slide
         $nextSlide.fadeIn(500);
         //show caption
         $('#caption').text($nextSlide[0].alt);
         //count image
         var currentNum = $nextSlide.attr('index');
         var count = $nextSlide.closest('.slideshow').find('img').length;
         $('#count').html(currentNum + ' of ' + count);
    }
});

提前感谢您的宝贵时间!

【问题讨论】:

  • 您希望幻灯片自动进行还是仅通过用户交互进行?
  • 幻灯片应该自动和通过用户交互进行

标签: javascript jquery css slideshow


【解决方案1】:

我在这里修好了你的小提琴:https://jsfiddle.net/ufb6dwLx/4/

//previous slide
$('.prev').click(function() {
    prevSlide($('.slideshow').closest('.slideshow').find('.slides'));
});
//next slide
$('.next, .slideshow img').click(function() {
    nextSlide($('.slideshow').closest('.slideshow').find('.slides'));
});

我建议为这么多幻灯片实现延迟加载,使用 jQuery 很容易做到:https://plugins.jquery.com/lazyload/

我会把缩略图留给你。

【讨论】:

  • 谢谢.. 但是除了 html 和 css 之外我没有任何编码知识,所以我不确定我是否能够按照您的建议去做... 我刚刚找到了一个 jQuery 插件,看起来正是我正在寻找的......只是不知道如何让它为我想要的......link
  • 那个插件看起来很不错。转到下载页面:buildinternet.com/project/supersized/download.html 并获取最新版本(3.2.7)。将所有文件解压缩到桌面并打开其中一个 .html 文件(例如,幻灯片 > demo.html)。这有您需要的所有代码,您只需将图片网址更改为您的图片。
猜你喜欢
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2010-11-24
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2014-10-10
相关资源
最近更新 更多