js+css3实现多行图片点击(自动)左右无缝轮播特效
/*效果图*/


HTML: <div class="scroll">
<div class="picbox">
<ul class="piclist mainlist">
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg1.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg2.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg3.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg4.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg5.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
<li class="goodlist">
<a class="scrolling_picture"><img src="data:images/timg1.jpg" class="pics" /></a>
<a class="title">安全联盟信誉企业</a>
</li>
</ul>
<ul class="piclist swaplist"></ul>
</div>
<div class="og_prev"></div>
<div class="og_next"></div>
</div>
CSS:
* {
margin:0;
padding:0;
list-style:none;
}
body {
font-size:12px;
}
a {
text-decoration:none;
}
.scroll {
width:760px;
margin:0 auto;
position:relative;
overflow:hidden;
}
.picbox {
width:730px;
height:340px;
background:#fff;
border:1px solid #DED7D1;
overflow:hidden;
position:relative;
margin:15px;
}
.picbox ul {
height:285px;
padding-top:5px;
}
.piclist {
position:absolute;
left:0px;
top:0px;
}
.piclist li.goodlist {
width:221px;
margin:10px 0;
padding:0px 5px;
margin-right:-1px;
float:left;
padding-left: 20px;
}
.piclist li.goodlist img {
width:100%;
height:120px;
}
.swaplist {
position:absolute;
left:-3000px;
top:0px;
}
.og_prev, .og_next {
width:30px;
height:60px;
background:url(../images/btn.png) no-repeat;
position:absolute;
top:152px;
z-index:99;
cursor:pointer;
}
.og_prev {
background-position:0 0;
left:0px;
}
.og_prev:hover {
background-position:0 -60px;
}
.og_next {
background-position:-30px 0;
right:0px;
}
.og_next:hover {
background-position:-30px -60px;
}
.goodlist img.pics {
width:85px;
height:135px;
float:left;
background:#fff url(../images/loading.gif) center center no-repeat;
}
.title {
width:100%;
height:22px;
line-height:22px;
display:block;
color:#363636;
text-align: center;
margin-top: 10px;
}
.scrolling_picture{overflow:hidden; display:block;width:90%;}
JS:
$(function(){
linum = $('.mainlist li').length;//图片数量
w = linum/2 * 232;//ul宽度
$('.piclist').css('width', w + 'px');//ul宽度
$('.swaplist').html($('.mainlist').html());//复制内容
$('.og_next').click(function(){
if($('.swaplist,.mainlist').is(':animated')){
$('.swaplist,.mainlist').stop(true,true);
}
if($('.mainlist li').length>4){//多于4张图片
ml = parseInt($('.mainlist').css('left'));//默认图片ul位置
sl = parseInt($('.swaplist').css('left'));//交换图片ul位置
if(ml<=0 && ml>w*-1){//默认图片显示时
$('.swaplist').css({left: '928px'});//交换图片放在显示区域右侧
$('.mainlist').animate({left: ml - 928 + 'px'},'slow');//默认图片滚动
if(ml==(w-928)*-1){//默认图片最后一屏时
$('.swaplist').animate({left: '0px'},'slow');//交换图片滚动
}
}else{//交换图片显示时
$('.mainlist').css({left: '928px'})//默认图片放在显示区域右
$('.swaplist').animate({left: sl - 928 + 'px'},'slow');//交换图片滚动
if(sl==(w-928)*-1){//交换图片最后一屏时
$('.mainlist').animate({left: '0px'},'slow');//默认图片滚动
}
}
}
})
$('.og_prev').click(function(){
if($('.swaplist,.mainlist').is(':animated')){
$('.swaplist,.mainlist').stop(true,true);
}
if($('.mainlist li').length>4){
ml = parseInt($('.mainlist').css('left'));
sl = parseInt($('.swaplist').css('left'));
if(ml<=0 && ml>w*-1){
$('.swaplist').css({left: w * -1 + 'px'});
$('.mainlist').animate({left: ml + 928 + 'px'},'slow');
if(ml==0){
$('.swaplist').animate({left: (w - 928) * -1 + 'px'},'slow');
}
}else{
$('.mainlist').css({left: (w - 928) * -1 + 'px'});
$('.swaplist').animate({left: sl + 928 + 'px'},'slow');
if(sl==0){
$('.mainlist').animate({left: '0px'},'slow');
}
}
}
});
});
js+css3实现多行图片点击(自动)左右无缝轮播特效的更多相关文章
- react使用swiper,解决添加点击事件首位图片点击失效,解决轮播按钮被覆盖问题
JS部分 createSwiper1() { var option = { // slidesPerView: 5, slidesPerView: 3, centeredSlides:true, }; ...
- js实现多行图片点击(自动)左右无缝轮播特效
/*效果图*/ HTML: <div class="scroll"> <div class="picbox"> ...
- 分别用css3、JS实现图片简单的无缝轮播功效
本文主要介绍分别使用CSS3.JS实现图片简单无缝轮播功效: 一.使用CSS3实现:利用animation属性 (实现一张一张的轮播,肉眼只看见一张图片) HTML部分比较简单,两个div下包着几个i ...
- 原生js和jquery实现图片轮播特效
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- 原生js和jquery实现图片轮播特效(转)
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- js和jquery实现图片无缝轮播的不同写法
多掌握一种方法总是会有好处的,学习编程就要多思考,举一反三 下面写一下实现图片自动播放的代码,由于学习的是javascript,代码量很大,所以又学习了jquery库的操作,非常简便 还有非常有逼格的 ...
- js实现图片无缝轮播
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 原生js写一个无缝轮播图插件(支持vue)
轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...
- JQuery制作基础的无缝轮播与左右点击效果
在网页中我们想要的无缝轮播左右循环有好多好多中,这是我第一个轮播效果,也是最基础的,和大家分享一下,对于初学者希望你们能有所借鉴,对于大神我想让你们尽情的虐我给我宝贵的意见. 这个是我要的效果 进入正 ...
随机推荐
- 前端之CSS基础及使用方法
CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...
- Vue核心知识——computed和watch的细节全面分析
computed和watch的区别 computed特性 1.是计算值,2.应用:就是简化tempalte里面{{}}计算和处理props或$emit的传值,computed(数据联动).3.具有缓存 ...
- 查询SQL SERVER 数据库版本号脚本语句
数据库直接执行此语句即可select @@version 示例: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:2 ...
- 简单了解工作空间工厂(IWorkspaceFactory)
工作空间工厂(WorkspaceFactory)是工作空间的发布者,允许客户连接通过一组连接属性定义的工作空间. 工作空间表达了一个包含一个或多个数据集的数据库或数据源,数据集可以是表.特征类.关系类 ...
- 后台模板引擎ejs与前台模板引擎artTemplate的简单介绍
动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...
- opencv::图像上采样和降采样
图像金字塔概念 . 我们在图像处理中常常会调整图像大小,最常见的就是放大(zoom in)和缩小(zoom out),尽管几何变换也可以实现图像放大和缩小,但是这里我们介绍图像金字塔 . 一个图像金字 ...
- pytest6-Fixture finalization / executing teardown code(使用yield来实现)
Fixture finalization / executing teardown code By using a yield statement instead of return, all the ...
- 2.单核CPU是如何实现多进程的?
单核cpu之所以能够实现多进程,主要是依靠于操作系统的进程的调度算法 如时间片轮转算法,在早期,举例说明:有5个正在运行的程序(即5个进程) : QQ 微信 有道词典 网易云 ...
- MyBatis 之源码浅读
环境简介与入口 记录一下尝试阅读Mybatis源码的过程,这篇笔记是我一边读,一遍记录下来的,虽然内容也不多,对Mybatis整体的架构体系也没有摸的很清楚,起码也能把这个过程整理下来,这也是我比较喜 ...
- 无情的Java 8 之 Stream和lambda表达式篇
不好意思,最近刷小视频刷的有点上头 看到这图就不自觉的要来一句:"卧槽,无情" 好了,我要开始正经了 JAVA 8 已经推出有一段时间了, 相比之前, 我们操作集合的方式应该是这样 ...