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浮动产生和清除浮动的几种方式
浮动的语法:float:left/right; 浮动float的原本设计了作用初衷是为了实现文字环绕效果 浮动产生负作用: 1.背景不能显示 2.边框不能撑开父元素 3.margin padding设 ...
- Python 3.8.0 正式版发布,新特性初体验
北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PEP 572: Assignment Expressi ...
- Cheapest Palindrome POJ - 3280
Keeping track of all the cows can be a tricky task so Farmer John has installed a system to automate ...
- SQL SERVER数据库多条件查询
例如:查询挂号超500的数据select CONVERT(VARCHAR(10),DGH,23),COUNT(*) from yxhis2017..VTBMZGHMX2017 where bth=0 ...
- 搭建YUM本地仓库
本文介绍如何利用CentOS 7 ISO光盘镜像搭建YUM本地仓库. 环境准备: (1)VMware15.5版本虚拟机 (2)CentOS-7-x86_64-DVD-1908光盘镜像文件 1. 搭建Y ...
- Python_生成随机验证码
内置函数 chr() ord() 这两个内置函数是用来对十进制(十六进制也可以)与ASCii之间进行转换 chr() : 将十进制转换成ASCii对应字母或符号 t_1 = chr(99) t_2 = ...
- 《深入理解Java虚拟机》-----第13章 线程安全与锁优化
概述 在软件业发展的初期,程序编写都是以算法为核心的,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种思维方式直接站在计算机的角度去抽象问题和解 ...
- Unix 线程改变创建进程中变量的值(2)
执行环境:Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 ...
- 【RabbitMQ 实战指南】一 RabbitMQ入门
1.消息中间件 1.1.什么是消息中间件 消息中间件(Message Queue Middleware,简称 MQ)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通道来进行分布式系 ...
- H5 video踩坑实录
前段时间公司APP做了一个APP论坛会议,嵌入了h5播放器.我以为很简单,没想到,这正是我踩进泥潭的开始... (想要吸取经验的小伙伴可以慢慢往下看,想要解决方案的直接看最后!) 一.一开始我以为直接 ...