刻刻帝的海角 2023-10-16 18:52 采纳率: 57.1%
浏览 9
已结题

jQuery中如何添加左右无缝切换的轮播图,同时通过ajax请求接口,再添加到模板字符串中。

在jQuery中做一个自动左右无缝切换的轮播图,最好只用div的,然后可以在ajax请求的接口中渲染出轮播图的效果。

  • 写回答

2条回答 默认 最新

  • 老牛源码 2023-10-16 21:45
    关注

    首先,我们在HTML中创建一个轮播图的基本结构,这里我们只使用div元素:

    <div id="carousel">
        <!-- 轮播图内容将会在这里动态添加 -->
    </div>
    
    <button id="prev">上一张</button>
    <button id="next">下一张</button>
    

    然后,我们通过jQuery来添加轮播图的功能。请注意,下面的示例代码假设接口返回的数据格式是一个包含图片url的数组。

    $(document).ready(function() {
        var currentIndex = 0;
        var images = [];  // 用来保存图片url的数组
    
        // 通过ajax请求接口获取图片url
        $.ajax({
            url: 'your-api-url',  // 替换为你的接口url
            type: 'GET',
            success: function(data) {
                images = data;  // 将获取到的数据保存到images数组中
                loadCarousel();  // 加载轮播图
            },
            error: function(error) {
                console.log('Error:', error);
            }
        });
    
        // 加载轮播图
        function loadCarousel() {
            $('#carousel').empty();  // 清空轮播图内容
    
            // 将图片添加到轮播图中
            for (var i = 0; i < images.length; i++) {
                var img = $('<img />').attr('src', images[i]);
                $('#carousel').append(img);
            }
    
            // 设置初始显示的图片索引
            currentIndex = Math.floor(Math.random() * images.length);
    
            // 添加事件监听器到“上一张”和“下一张”按钮
            $('#prev').click(function() {
                currentIndex--;
                if (currentIndex < 0) currentIndex = images.length - 1;  // 如果当前是第一张图片,显示最后一张
                showCarousel();
            });
    
            $('#next').click(function() {
                currentIndex++;
                if (currentIndex == images.length) currentIndex = 0;  // 如果当前是最后一张图片,显示第一张
                showCarousel();
            });
        }
    
        // 显示轮播图
        function showCarousel() {
            $('#carousel').empty();  // 清空轮播图内容
    
            // 添加当前显示的图片到轮播图
            var img = $('<img />').attr('src', images[currentIndex]);
            $('#carousel').append(img);
        }
    });
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月23日
  • 修改了问题 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改