web轮播图

思路:

例如:有5张轮播的图片,每张图片的宽度为1024px、高度为512px.那么轮播的窗口大小就应该为一张图片的尺寸,即为:1024×512。之后将这5张图片0px水平相接组成一张宽度为:5120px,高度依然为:512px。最后将这张合成后的大图每次向左移动1024px即可实现轮播图。

html代码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link href="index.css" type="text/css" rel="stylesheet">
    <script src="jquery-1.11.3.min.js"></script>
    <script src="index.js"></script>
</head>
<body>
<!--轮播图整体div-->
<div class="banner">
    <!--无序列表承载轮播的图片-->
    <ul class="img">
        <li><a href="#"><img src="image/1.png" alt="第1张图片"></a></li>
        <li><a href="#"><img src="image/2.png" alt="第2张图片"></a></li>
        <li><a href="#"><img src="image/3.png" alt="第3张图片"></a></li>
        <li><a href="#"><img src="image/4.png" alt="第4张图片"></a></li>
        <li><a href="#"><img src="image/5.png" alt="第5张图片"></a></li>
        <li><a href="#"><img src="image/6.png" alt="第6张图片"></a></li>
        <li><a href="#"><img src="image/7.png" alt="第7张图片"></a></li>
 
    </ul>
    <!--用来放置圆点具体实施在js代码中呈现-->
    <ul class="num"></ul>
    <!--左右点击按钮-->
    <div class="btn">
        <span class="prev"><</span>
        <span class="next">></span>
    </div>
</div>
</body>
</html>

报错:

使用了jquery-3.7.1.slim.min.js,它是一个精简版的jQuery库,没有包含.stop()方法。尝试使用完整版的jQuery,

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
 

css代码

/*整体去除内外边距*/
* {
    margin: 0;
    padding:0;
}
/*取消列表的图标内容*/
ul{
    list-style: none;
}
/*对整体部分的控制,浏览图片的窗口*/
.banner{
    width: 1024px;
    height: 512px;
    border: 2px solid #ccc;
    margin: 100px auto;
    position: relative;
    overflow: hidden;
}
/*图片的初步设置后面的动态内容会在js中实现*/
.img{
    width:1024px;
    height: 512px;
    position: absolute;
    top: 0;
    left: 0;
}
/*让图片向左浮动*/
.img li{
    float: left;
}
/*圆点承载部分的设计*/
.num{
    position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
    font-size: 0;
}
/*圆点设计*/
.num li{
    width: 10px;
    height: 10px;
    background:rgba(0,0,0,0.5);
    border-radius: 100%;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
}
/*按钮部分初始不可见*/
.btn{
    display: none;
}
/*按钮形状设计*/
.btn span{
    display: block;
    width: 50px;
    height: 100px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 40px;
    line-height: 100px;
    text-align: center;
    cursor:pointer;
}
/*上一个设计*/
.btn .prev{
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -50px;
}
/*下一个设计*/
.btn .next{
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -50px;
}
/*对按纽动态呈现的变换进行类选择器的设计为js代码部分进行铺垫*/
.num .active{
    background-color: #fff;
}
.hide{
    display: none;
}

js代码

//界面加载完毕执行以下程序
$(function(){
    //定义i变量为动态控制图片轮播做准备,i的值与每张图片进行一一的对应
    var i=0;
    //时间变量,为自动轮播以及对光标的影响做出相应的反应
    var timer=null;
    //根据图片的张数动态添加圆点个数
    for (var j = 0; j < $('.img li').length; j++) {
        $('.num').append('<li></li>');
    }
    //默认情况下的第一个圆点进行背景设计
    $('.num li').first().addClass('active');
    //根据光标的影响控制按钮的显示和隐藏
    $('.banner').hover(function(){
        $('.btn').show();
    },function(){
        $('.btn').hide();
    });
    //将第一张图片复制并添加到img部分下与前五张图片相接
    var firstimg=$('.img li').first().clone(); //复制第一张图片
    $('.img').append(firstimg).width($('.img li').length*($('.img img').width()));
    //定时器自动轮播
    timer=setInterval(function(){
        i++;
        if (i==$('.img li').length) {
            i=1;
            $('.img').css({left:0});//保证无缝轮播,设置left值
        }
        //进行下一张图片
        $('.img').stop().animate({left:-i*1024},500);
        //圆点跟着变化
        if (i==$('.img li').length-1) {
            $('.num li').eq(0).addClass('active').siblings().removeClass('active');
        }else{
            $('.num li').eq(i).addClass('active').siblings().removeClass('active');
        }
    },1000);
    //鼠标移入,暂停自动播放,移出,开始自动播放
    $('.banner').hover(function(){
        clearInterval(timer);
    },function(){
        timer=setInterval(function(){
            i++;
            if (i==$('.img li').length) {
                i=1;
                $('.img').css({left:0});
            };
            //进行下一张图片
            $('.img').stop().animate({left:-i*1024},500);
            //圆点跟着变化
            if (i==$('.img li').length-1) {
                $('.num li').eq(0).addClass('active').siblings().removeClass('active');
            }else{
                $('.num li').eq(i).addClass('active').siblings().removeClass('active');
            }
        },1000)
    });
    //上一个按钮
    $('.prev').click(function(){
        i--;
        if (i==-1) {
            i=$('.img li').length-2;
            $('.img').css({left:-($('.img li').length-1)*1024});
        }
        $('.img').stop().animate({left:-i*1024},500);
        $('.num li').eq(i).addClass('active').siblings().removeClass('active');
    });
    // 下一个按钮
    $('.next').click(function(){
        i++;
        if (i==$('.img li').length) {
            i=1; //这里不是i=0
            $('.img').css({left:0});
        };
        $('.img').stop().animate({left:-i*1024},500);
        if (i==$('.img li').length-1) { //设置小圆点指示
            $('.num li').eq(0).addClass('active').siblings().removeClass('active');
        }else{
            $('.num li').eq(i).addClass('active').siblings().removeClass('active');
        };
 
    });
    //鼠标划入圆点
    $('.num li').mouseover(function(){
        var _index=$(this).index();
        //维持i变量控制的对应关系不变
        i = _index;                 
        $('.img').stop().animate({left:-_index*1024},300);
        $('.num li').eq(_index).addClass('active').siblings().removeClass('active');
    });
 
})

效果:

9199ed6b362f4484b1bfa3f958e9a4aa.png

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ASP.NET是一种用于Web应用程序开发的开发框架,它提供了丰富的工具和功能,使开发人员可以轻松构建各种功能强大的Web应用程序。而轮播图是一种常用的Web界面元素,可以展示多张片或广告,通过切换片来吸引用户的注意力。 使用ASP.NET开发一个Web轮播图可以通过以下步骤来实现: 1.设计页面布局:首先,我们需要设计一个页面布局,包含轮播图的容器和相关控件。可以使用ASP.NET内置的控件(如Image控件)或自定义控件来实现。 2.加载片数据:接下来,我们需要从数据库或其他数据源加载片数据。可以使用ASP.NET提供的数据访问技术(如ADO.NET)来连接数据库并加载数据。 3.实现轮播逻辑:接着,我们需要编写轮播逻辑,即切换片的操作。可以通过JavaScript或ASP.NET控件的事件来实现,并设置定时器来控制切换的时间间隔。 4.显示轮播图:最后,我们需要将加载的片数据显示在轮播图容器中。可以使用ASP.NET控件的属性或JavaScript代码来实现动态显示。 通过以上步骤,我们可以实现一个基本的ASP.NET Web轮播图。当然,还可以根据实际需求添加一些特效和功能,如淡入淡出效果、自动播放控制等。同时,建议使用响应式设计,以适应不同屏幕尺寸和设备类型的要求,提升用户体验。 ### 回答2: ASP.NET Web轮播图是网站设计中常用的元素之一,通过展示多张片,实现动态切换显示的效果,使网站页面更加生动和吸引人。下面是关于ASP.NET Web轮播图的回答: ASP.NET Web轮播图可以通过多种方式实现,其中一种常见的方式是使用JavaScript库和CSS样式来构建。例如,可以使用Bootstrap框架中的Carousel组件创建一个响应式的轮播图。 首先,在ASP.NET Web应用程序中将所需的JavaScript和CSS文件引入到页面中。然后,在HTML页面中添加一个轮播图容器,并在其中嵌套一个片列表。每个片项可以设置标题、描述等相关信息。 接下来,在JavaScript代码中初始化轮播图组件,并设置相关参数,如轮播速度、循环播放等。 最后,在CSS样式中可以设置轮播图容器的尺寸、背景色、边框等样式。还可以通过设置片的动画效果、过渡效果、尺寸等来使轮播图更加美观。 除了使用现成的JavaScript库和CSS样式,还可以自己编写JavaScript代码来实现ASP.NET Web轮播图。例如,可以使用jQuery库来处理轮播图的交互逻辑,通过设置定时器和切换片的方式来实现轮播效果。 总之,ASP.NET Web轮播图是一种常见的网站设计元素,可以通过使用现成的JavaScript库和CSS样式,或者自己编写JavaScript代码来实现。通过设置合适的参数和样式,可以创建一个生动、吸引人的轮播图,提升网站的用户体验。 ### 回答3: ASP.NET Web轮播图可以使用多种方式实现,下面介绍一种常用的方法。 我们可以使用ASP.NET的Web Forms或MVC框架,结合前端的HTML、CSS和JavaScript来实现一个简单的轮播图。首先,我们需要创建一个容器,用于包含轮播图片和控制按钮。 在前端代码中,我们可以使用HTML的div元素作为容器,并设置它的样式,确定宽度和高度。然后,在div中添加一个img元素,用于显示轮播图片,设置宽度和高度与容器一致。 接下来,我们需要使用JavaScript来控制轮播图的切换。我们可以使用setInterval函数来定时切换片。在每个时间间隔上,我们将通过更新img元素的src属性来切换到下一张片。同时,我们还可以在轮播图下方添加一些控制按钮,点击按钮可以切换到指定的片。 在后端代码中,我们可以使用ASP.NET的Page_Load事件来加载轮播图片数据。我们可以从数据库或文件系统中获取片路径,并将路径赋值给img元素的src属性,用于显示轮播图。 另外,我们还可以通过使用CSS样式来美化轮播图,例如设置容器的边框、背景色等。 综上所述,ASP.NET Web轮播图的实现需要使用ASP.NET的后端代码前端的HTML、CSS和JavaScript进行配合。通过动态切换片和添加控制按钮,我们可以轻松实现一个漂亮的轮播图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值