js实现多行图片点击(自动)左右无缝轮播特效
/*效果图*/
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实现多行图片点击(自动)左右无缝轮播特效的更多相关文章
- react使用swiper,解决添加点击事件首位图片点击失效,解决轮播按钮被覆盖问题
JS部分 createSwiper1() { var option = { // slidesPerView: 5, slidesPerView: 3, centeredSlides:true, }; ...
- js+css3实现多行图片点击(自动)左右无缝轮播特效
/*效果图*/ HTML: <div class="scroll"> <div class="picbox"> ...
- 原生js和jquery实现图片轮播特效
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- 原生js和jquery实现图片轮播特效(转)
本文给大家分享的是使用原生JS和JQ两种方法分别实现相同的图片轮播特效,十分的实用,也非常方便大家对比学习原生js和jQuery,有需要的小伙伴可以参考下. 1)首先是页面的结构部分对于我这种左右切换 ...
- js和jquery实现图片无缝轮播的不同写法
多掌握一种方法总是会有好处的,学习编程就要多思考,举一反三 下面写一下实现图片自动播放的代码,由于学习的是javascript,代码量很大,所以又学习了jquery库的操作,非常简便 还有非常有逼格的 ...
- 分别用css3、JS实现图片简单的无缝轮播功效
本文主要介绍分别使用CSS3.JS实现图片简单无缝轮播功效: 一.使用CSS3实现:利用animation属性 (实现一张一张的轮播,肉眼只看见一张图片) HTML部分比较简单,两个div下包着几个i ...
- js实现图片无缝轮播
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 原生js写一个无缝轮播图插件(支持vue)
轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...
- JQuery制作基础的无缝轮播与左右点击效果
在网页中我们想要的无缝轮播左右循环有好多好多中,这是我第一个轮播效果,也是最基础的,和大家分享一下,对于初学者希望你们能有所借鉴,对于大神我想让你们尽情的虐我给我宝贵的意见. 这个是我要的效果 进入正 ...
随机推荐
- gridView 主从表实现
1.主要代码: private void Form2_Load(object sender, EventArgs e) { DataTable dt1 = new DataTable("dt ...
- 用phpcms如何将静态页面制作成企业网站(下)
上篇讲到了子页部分 这样的 有分页选择 列表项的代码部分 最后输出变量pages就可以了 看一下运行的效果 点击下一页 再来改一下子页显示的样式 点击人才将会出来的一个子页面 路径要统一 再来更改后台 ...
- 百度编辑器 UEditor第一次加载后台数据失败
给编辑器赋值的代码: var ue = UE.getEditor('content'); ue.ready(function (){ ue.setContent(data.data.cont ...
- 第24篇 js小知识和“坑”
前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js ...
- js中字符串转换为数值的两种方法的区别
在js中字符串转换为数值的方法有三种:转换函数,强制类型转换,隐式转换 1.转换函数 parseInt() //将字符串转换为整型 parseFloat() //将字符串转换为浮点型 转换函数在 ...
- js中盒子模型常用的属性你还记得几个?
//clientWidth;//内容宽度Width+左右填充padding//clientHeight;//内容高度height+上下填充padding//clientLeft;//左边框的宽度相当于 ...
- webpack 引用 jquery + bootstrap 报错解决
webpack 引用 jquery + bootstrap , error : jQuery is not defind 在webpack.dev.conf.js plugins[] 加入 new w ...
- TP框架数据库操作(增删改)
首先选择一张表,对其进行操作: 对数据库操作之前首先要创建模型: $n = M("account"); 数据库添加数据: 1.使用数组: 1.使用数组 $arr = array(& ...
- 百度地图API新手入门
最近,共享单车着实火了一把,市场竞争也是异常的激烈,百花争艳,百家争鸣,群雄逐鹿,最后鹿死谁手,现在还不得而知,不过可以肯定的是细节决定成败,更重要的还在于用户的体验. 用过的同学们都会知道,打开共享 ...
- Permanent Generation Removal Overview(译文)
英文原稿:http://vdisk.weibo.com/s/vxGdGZEZTEjk 中文整理稿:http://it.deepinmind.com/gc/2014/05/14/metaspace-in ...