用,怎么用纯div+css做图片切换效果

如题所述

图片切换特效实现很简单,而且兼容性很好。

html页面如下
复制代码 代码如下:

<div class="wrapper">
<div id="focus">
<ul>
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/01.jpg" alt="QQ商城焦点图效果下载" /></a></li>
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/02.jpg" alt="QQ商城焦点图效果教程" /></a></li>
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/03.jpg" alt="jquery商城焦点图效果" /></a></li>
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/04.jpg" alt="jquery商城焦点图代码" /></a></li>
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/05.jpg" alt="jquery商城焦点图源码" /></a></li>
</ul>
</div>

</div><!-- wrapper end -->
</body>

css样式
复制代码 代码如下:

<style type="text/css">
* {margin:0; padding:0;}
body {font-size:12px; color:#222; font-family:Verdana,Arial,Helvetica,sans-serif; background:#f0f0f0;}
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.clearfix {zoom:1;}
ul,li {list-style:none;}
img {border:0;}

.wrapper {width:800px; margin:0 auto; padding-bottom:50px;}

/* qqshop focus */
#focus {width:800px; height:280px; overflow:hidden; position:relative;}
#focus ul {height:380px; position:absolute;}
#focus ul li {float:left; width:800px; height:280px; overflow:hidden; position:relative; background:#000;}
#focus ul li div {position:absolute; overflow:hidden;}
#focus .btnBg {position:absolute; width:800px; height:20px; left:0; bottom:0; background:#000;}
#focus .btn {position:absolute; width:780px; height:10px; padding:5px 10px; right:0; bottom:0; text-align:right;}
#focus .btn span {display:inline-block; _display:inline; _zoom:1; width:25px; height:10px; _font-size:0; margin-left:5px; cursor:pointer; background:#fff;}
#focus .btn span.on {background:#fff;}
#focus .preNext {width:45px; height:100px; position:absolute; top:90px; background:url(img/sprite.png) no-repeat 0 0; cursor:pointer;}
#focus .pre {left:0;}
#focus .next {right:0; background-position:right top;}
</style>

js脚本
复制代码 代码如下:

$(function() {
var sWidth = $("#focus").width(); //获取焦点图的宽度(显示面积)
var len = $("#focus ul li").length; //获取焦点图个数
var index = 0;
var picTimer;

//以下代码添加数字按钮和按钮后的半透明条,还有上一页、下一页两个按钮
var btn = "<div class='btnBg'></div><div class='btn'>";
for(var i=0; i < len; i++) {
btn += "<span></span>";
}
btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>";
$("#focus").append(btn);
$("#focus .btnBg").css("opacity",0.5);

//为小按钮添加鼠标滑入事件,以显示相应的内容
$("#focus .btn span").css("opacity",0.4).mouseenter(function() {
index = $("#focus .btn span").index(this);
showPics(index);
}).eq(0).trigger("mouseenter");

//上一页、下一页按钮透明度处理
$("#focus .preNext").css("opacity",0.2).hover(function() {
$(this).stop(true,false).animate({"opacity":"0.5"},300);
},function() {
$(this).stop(true,false).animate({"opacity":"0.2"},300);
});

//上一页按钮
$("#focus .pre").click(function() {
index -= 1;
if(index == -1) {index = len - 1;}
showPics(index);
});

//下一页按钮
$("#focus .next").click(function() {
index += 1;
if(index == len) {index = 0;}
showPics(index);
});

//本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度
$("#focus ul").css("width",sWidth * (len));

//鼠标滑上焦点图时停止自动播放,滑出时开始自动播放
$("#focus").hover(function() {
clearInterval(picTimer);
},function() {
picTimer = setInterval(function() {
showPics(index);
index++;
if(index == len) {index = 0;}
},4000); //此4000代表自动播放的间隔,单位:毫秒
}).trigger("mouseleave");

//显示图片函数,根据接收的index值显示相应的内容
function showPics(index) { //普通切换
var nowLeft = -index*sWidth; //根据index值计算ul元素的left值
$("#focus ul").stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position
//$("#focus .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果
$("#focus .btn span").stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300); //为当前的按钮切换到选中的效果
}
});

用到的左右切换图片
温馨提示:内容为网友见解,仅供参考
无其他回答

html怎么让多张图片在盒子里切换
1. 在HTML中,先创建一个盒子,用于显示图片。可以使用div标签创建一个容器,并设置宽度、高度、overflow:hidden属性,以便限制图片的显示范围。2. 在容器内部创建一个ul标签,用于存放所有的图片。每一张图片都需要使用li标签来包裹,并设置float:left属性,使其能够排列在一行。3. 在CSS中,设置图片的...

DW中DIV+CSS
这个问题用CSS可以解决,但是有一点必须说明,只能在二幅图片中切换,多了就不行.也就是当鼠标移到时,变成一张图,离开时变成另一张图.<style type="text\/css"> a div{ background-image:url(image1.jpg);} a:hover div{ background-image:url(image2.jpg);} <\/style>...<a href=""><di...

网页制作是如何实现图片切换的?
编写index.html文件,代码如下:<DOCTYPE html> <html> <head> <meta charset="utf-8" \/> <title> lunbo <\/title> <link href="css\/style.css" rel="stylesheet"\/> <script src="js\/lunbo.js"> <\/script> <\/head> <body> <div id="container"> <div id="list" style="left:-60...

CSS怎么实现更换图片?
CSS能更换的图片,只能存在于样式中。所以,这个图片也只能是背景图片。一般是结合:hover来实现的。例如:.mydiv{ background:图片1 no-repeat;height:100px;widht:100px;} .mydiv:hover{ background:图片2 no-repeat;} 这样就实现了图片1和图片2的鼠标移上去的切换。CSS层叠样式表(英文全称:...

网页如何切换图片网页如何切换图片格式
使用以下代码编写style.css文件:{margin:0px;文字-装饰:无;} body{margin-top:50px;} 容器{宽度:600px高度:400px位置:相对;边框:3pxsolid#333溢出:隐藏;边距:0自动;} list{width:4200px;高度:400px位置:绝对;z指数:1;} listimg{float:left;}#listimg{float:left;} button{position:...

dreamweaver制制图片切换
这种属于图片轮播,一般情况下用于banner轮播图。可以用html,css,js来实现。html 部分代码<body> <div id="div1"> <img src="" alt=""> <span id="L"><<\/span> <span id="R">><\/span> <ul id="ul"> <li><\/li> <li><\/li> <li><\/li> <li><\/...

求CSS图片轮播完整代码?
1.基本布局:将4张图片左浮动横向并排放入一个div容器内,图片设置统一尺寸,div宽度设置4个图片的总尺寸,然后放入相框容器div,相框设置1个图片的大小并设置溢出隐藏,以保证正确显示一个照片。2.设置动画:然后使用css3动画,通过对photos进行位移,从而达到显示不同的图片,每次偏移一个图片的宽度,即可...

html中图片通过样式表转换,只要CSS+DIV的代码【急】
不用js是不可行的。除非你在图片上做手脚,比如做成可以变换的GIF

怎么实现点击图片渐变切换成另一个图片!
在网页设计中,实现点击图片渐变切换成另一个图片的技巧主要是利用JavaScript和HTML的层叠样式表(CSS)。首先,需要在HTML文件中放置两张图片,并设置它们为层叠的关系。接着,通过JavaScript实现鼠标点击事件的触发。当用户点击图片时,程序检测到这一事件并执行相应的代码。关键步骤在于,通过JavaScript改变...

你好,请问如何用css+div实现背景效果。
首先,利用DIV+CSS的办法虽然可以更方便的设置背景。但是有一个前提条件。就是背景的可重复性。这个背景不能是渐变色,只能是有规律的可平铺图片。由于之前的那个背景是渐变色,即便是CSS3,也无法限制背景图只重复某一个区域的图像。因此要在一个不固定高度的DIV中使用渐变的背景图,当超出背景的高度后...

相似回答