html简单图片轮播居中,html简单图片轮播的实现
这里的图片轮播方法是我从网上参考的方法,只是自己做了一些改进
先来贴一发代码
在这个html的目录下有三个同级的文件夹,img中放图片,css和js分别存放这个网页的css文件和js文件,这里用到了jquery,记得引入顺序,jquery一定要放在其他js前面。
html代码很简单,不做过多解释。
看一下引入的css,init2.css
*{
margin: 0px ;
padding: 0px ;
}
#layout{
width: 960px ;
margin: 0 auto ;
}
#banner{
position: relative;
overflow: hidden;
width: 600px;
height: 200px;
border-radius: 10px ;
border: 2px solid black;
}
#banner_img li{
float: left;
list-style-type: none;
}
#index{
position: absolute;
right: 8px ;
bottom: 8px ;
}
#index li{
float: left;
width: 16px ;
height: 16px ;
text-align: center;
line-height: 16px ;
border-radius: 5px ;
border:1px solid #FF7300 ;
background: white;
list-style: none;
margin-left: 8px ;
cursor: pointer;
}
.clearfix:after{
content: "" ;
height: 0px ;
display: block;
clear:both ;
}
.on
{
background:#FF7300 ;
}
css基本上和前面的html中的类对应,claerfix来清除浮动,on是代表轮播图片的索引中当前的正播放的图片的索引,其实就改个背景,这里的索引是后面动态加上去的,索引在html中看不到。主要思路就是把装图片的容器设置成overfl;hidden;
下面是一种比较简单的实现,利用jquery的fadeIn和fadeOut效果来实现。
//fadeIn and fadeOut
var time ;
var index = 1 ;
var tolnum = 3 ;
$(function(){
setInterval("showBanner("+tolnum+")",3000);
});
function showBanner(n)
{
var ul = $("#banner_img") ;
ul.children().fadeOut("slow") ;
ul.children().eq(index).fadeIn("slow") ;
index = index+1>n-1 ? 0 : index+1 ;
}
恩,不知道为什么到最后一张图片的时候会产生没有淡出的bug,不太懂,请大家指教。
第二种方法是利用jquery的animation来实现margin属性的过渡。
init();
function init()
{
$(function(){
var index = 0 ;
var adTime ;
var len = $("#banner_img li").length ;
addIndex(len) ;
var bannerLi = $("#index li");
//handle index
$("#index li").mouseover(function() {
index = $("#index li").index(this) ;
showImgs(index) ;
});
//toggleInterval
$("#banner").hover(function(){
clearInterval(adTimer);
},function(){
adTimer=setInterval(function(){
//alert(index) ;
showImgs(index);
index++;
if(index==len){
index=0;
}
},2000)
}).trigger('mouseleave');
});
}
//auto add index
function addIndex(n)
{
var ul = $("") ;
for(var i=1;i<=n;i++)
{
var li = $("
") ;
li.append(function(num){
return num
}(i)) ;
ul.append(li) ;
}
ul.children().first().addClass('on') ;
$("#banner_img").append(ul);
}
function showImgs(index)
{
var adwidth=$("#banner_img>li:first").width();
$("#banner_img").stop(true, false) ;
//$("#banner_img").css('margin-left', -index*adwidth+"px");
$("#banner_img").animate({
"marginLeft":-adwidth*index+"px"
},1000);
$("#index li").removeClass('on').eq(index).addClass('on') ;
}
hover()是一种代替mouseenter和mouseleave的方法,听说比较好用。trigger()来触发当前对象的一个状态,这里要先触发一次mouseleave的状态来初始化计时器,因为这里的设定是当鼠标移到$("#banner")上就销毁定时器,锁定当前图片,移开鼠标就重新添加定时器。
$("#banner_img").animate({
"marginLeft":-adwidth*index+"px"
},1000);
这了就是对jquery中animation方法的使用,通过传进来的index来改变banner_img的margin,这里是margin-left,所以图片就会从右往左刷(需要设置浮动),如果需要从下往上刷就设置margin-top就好了,还有我发现js中动态添加margin是不能触发css的transition的。
html简单图片轮播居中,html简单图片轮播的实现相关推荐
- html图片要上下居中显示,CSS图片垂直居中最简单的方法推荐
使用CSS实现图片垂直居中,本文提供三种方法实现CSS图片居中,其中第一种加一个标签的方法是我推荐的,代码简洁,兼容性比较好,其他的hack可能会存在问题,不建议使用.如果你对图片实现居中有更好的方法 ...
- 实现简单的轮播图(单张图片、多张图片)
前言 刚学js没多久,这篇博客就当做记录了,以后还会完善的,希望大佬们多多指点.ps:下面出现的都是直接闪动,没有滑动效果的轮播图. 单张图片的替换 原理 1.将几张图片叠在一起,通过改变" ...
- vue element ui 走马灯轮播图(简单几句话实现自动缩放效果)
实现效果 element ui 简单实现轮播图 本文,中间叙述的是过程,完整代码在最后面. 最近在写公司官网,用的是element ui 走马灯组件写的轮播图,ui想要自动缩放的效果,如上视频.在这里 ...
- html中简单轮播图实现原理,常见轮播效果及其实现原理
常见轮播效果及其实现原理 说明: 本项目只做最基础的原理分析与最简单的应用场景. 1. 简单做法:css定位 + js滑动动画 思路: 在同一个父容器内, 1. 通过改变父容器的`left` 值实现- ...
- js实现轮播图(简单滚动轮播)
原理: 在页面上有一个可视区域(a),用来显示图片,还有一个放所有需要轮播的图片的区域(b) ,当执行操作时 ,b需要移动 ,移动一个a的宽度,使下一张图片显示, 需要实现一下效果: 1.自动播放 2 ...
- 用jQuery实现轮播图——超简单(代码解释)
先看效果 鼠标悬浮时停止轮播,离开时自动轮播,点下一张小圆点会随着动 直接上代码 <!DOCTYPE html> <html><head><meta char ...
- 微信小程序swiper图片尺寸_微信小程序之swiper轮播图中的图片自适应高度的方法...
小程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.辣么,怎样让图片自适应不同分辨率捏. 我的思路是:获取屏幕宽度 ...
- 微信小程序swiper图片尺寸_微信小程序之swiper轮播图中的图片自适应高度
小程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.辣么,怎样让图片自适应不同分辨率捏. 我的思路是:获取屏幕宽度 ...
- 微信小程序的swiper轮播图中的图片设置自适应高度的一种方法
微信小程序的swiper轮播图中的图片设置自适应高度的一种方法 小程序中的轮播图很简单,但是唯一的缺陷就是 swiper 是固定的150px 高度(320px 宽度),这样如果传入的图片大于这个高度就 ...
- php详情页图片尺寸,拼多多主图轮播图详情页图片尺寸要求大全
1.拼多多商品轮播图: a. 尺寸宽度和高度都需要大于等于480px,正方形最好. b. 大小1M以内,不能超过1M. c. 数量限制在10张以内,等于10章. d. e. 主轮播图背景为纯白色(服饰 ...
最新文章
- 斯坦福全球AI报告:人才需求两年暴增35倍,中国机器人部署量涨500%
- 收到猎头信息的一些感想
- oracle故障一例,工作中遇到的oracle故障分析和处理一例
- spring mvc 返回json的配置
- C语言编程怎么搜答案,C语言编程题及答案
- 阿里图标库的使用方式
- 七.其他技术-Beetl与BeetlSQL
- while循环实例C语言,实例之while循环
- 开源的驰骋工作流程引擎,工作流程管理系统,表结构与运行机制。
- 用计算机修改图片或照片,如何利用电脑自带的画图工具修改图片的基本属性
- java map 空指针异常_Java8使用Collectors toMap,当value为null时报空指针异常
- Word怎么在图片上制作一个简历封面?
- 三星新旗舰手机 GALAXY S III正式发布
- RPO和RTO是什么?
- 微服务分布式架构中,如何高效收集请求/响应日志
- H5实现透明通道视频
- 基于Redisson实现的延时队列RedissonDelayedQueue实现websocket服务端心跳监听
- go语言中pdf转图片功能的实现(CentOS)
- 算法LeetCode自主学习------猜数字
- 程序员兼职可以从什么平台接私活?