极简的js点击组图切换效果

程序员进行前端开发时,时常要用到点击切换组图的动画效果,网上确实有很多此类插件,但是都很麻烦,乌糟糟无数代码,有那个看的时间,自己都能把功能写完了。在这里我提供一段极简的js点击组图切换效果代码,包含一个html文件,一个css文件,一个js文件,一个jquery.js文件,以及一张图片。

index.html

<html>
<head>
<title>js点击组图左右滑动</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script><!-- 需要一个jquery库 -->
<script type="text/javascript" src="js.js"></script>
</head>
<body>
<div class="main"><!-- 注:复制代码后,只需随意找一张图片,据下方img标签中的名字,对应修改一下图片名称,即可看到动画效果 -->
<div class="main_in"><!-- 此标签必须overflow:hidden,才能实现滑动的效果 -->
<ul id="main_ul"><!-- 此标签必须relative,才允许进行滑动 -->

<li class="main_in_li" id="main_in_li_id"><img src="chanping1.jpg" width="280" height="500"></li><!-- 根据此id位置,判断ul标签left像素的值 -->
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>
<li class="main_in_li" id=""><img src="chanping1.jpg" width="280" height="500"></li>

</ul>
</div>
<div class="main_change">
<div id="prev" onclick="slideprev()"><img src="images/prev.png"></div>
<div id="next" onclick="slidenext()"><img src="images/next.png"></div>
</div>
</div>
</body>
</html>

样式表:

css.css

*{margin: 0px; padding: 0px;}
.main{width: 1180px; margin:auto;}
.main_in{overflow: hidden;}
.main_in ul{display: block; width:5000px; height: 500px; overflow:hidden;position: relative;}
.main_in_li{display: block; margin-right: 20px; float: left;}
.main_change{width: 1312px; margin: 0 auto; position: relative; top: -250px; left:-66px;}
#next{width: 40px; height: 75px; cursor: pointer; position: absolute; right: 0px; background: #999;}
#prev{width: 40px; height: 75px; cursor: pointer;position: absolute; left: 0px; background: #999;}

js文件:

js.js

//根据class获取元素
function getByClass(sClass){
var aResult=[];
var aEle=document.getElementsByTagName(‘*‘);
var re=new RegExp("\\b" + sClass + "\\b","g");
for(var i=0;i<aEle.length;i++){
if(aEle[i].className.search(re) != -1){
aResult.push(aEle[i]);
}
}
return aResult;
};

//下一个
function slidenext(){
var i=0;
var n;
for(i;i<getByClass("main_in_li").length;i++){//根据class获取li标签个数
if(getByClass("main_in_li")[i].id=="main_in_li_id"){//根据id判断li标签在数组中的位置,得到i的值,从而得出ul标签left像素的值
if(i<getByClass("main_in_li").length-4){//4代表容器中显示的<li>标签的个数,你想在页面上显示几个<li>方块,除了在样式表中需要修改宽度以外,也需要修改此处"4"这个值。
n=i+1;
$("#main_ul").animate({left:"-"+300*n},800);
getByClass("main_in_li")[i].id="";
}
}
}
getByClass("main_in_li")[n].id="main_in_li_id";
}

//上一个,逻辑同上函数
function slideprev(){
var i=0;
var n;
for(i;i<getByClass("main_in_li").length;i++){
if(getByClass("main_in_li")[i].id=="main_in_li_id"){
if(i>0){
n=i-1;
$("#main_ul").animate({left:"-"+300*n},800);
getByClass("main_in_li")[i].id="";
}
}
}
getByClass("main_in_li")[n].id="main_in_li_id";
}

本段js代码基本采用原生的js写成,不过也跟jquery的写法差不多,逻辑是一样的。

jquery.js文件大家自己找吧,随便那个都可以。图片大家根据目录随便找一张放上去就行。

这一段代码,其实不单单只是用于图片切换,实质上切换的是<li>标签,你想放文字等待其他东西,只管往<li>标签里面丢就行了。

时间: 2024-08-07 00:15:21

极简的js点击组图切换效果的相关文章

一款JS感应鼠标横向左右切换的焦点图切换效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

基于jquery鼠标点击图片翻开切换效果

基于jquery鼠标点击图片翻开切换效果是一款基于jQuery+CSS3实现的点击图片切换特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <img src="images/1.jpeg" alt="1" /> <img src="images/2.jpeg" alt="2" /> <img s

利用原生JS实现网页1920banner图滚动效果

内容描述:随着PC设备硬件性能的进步和分辨率的不断提高,现在主流网站逐渐开始采用1920banner图,为适应这一趋势,博主设计了1920banner图的滚动效果,代码利用了原生JS实现了1920banner图的切换效果,并针对低分辨率电脑设备进行了适配,实现了JS代码与HTML代码的完全分离,符合w3c的标准使用规范,希望能给各位开发者朋友以帮助和参考.如发现有缺陷和不足,欢迎大家予以指正,如有更好的意见或解决方法,可在评论区交流互动.一下为代码内容: <!DOCTYPE html> <

html+css+js(+JQuery)制作扑克牌图片切换效果

要实现的效果图: 先把静态页面写出来: index.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>jquery制作扑克牌图片切换效果<

MUI极简的JS函数

模块:utils http://dev.dcloud.net.cn/mui/util/#event mui.init(); mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面.关闭页面.手势事件配置.预加载.下拉刷新.上拉加载.设置系统状态栏背景颜色. mui需要在页面加载时初始化很多基础控件,如监听返回键,因此务必在每个页面中调用 <script type="

使用JS实现轮播图的效果

其中的一些css样式代码就省略了,下面只把结构层html.行为层js的代码展示出来 ,看代码说事. 一.简单的轮播图 <div class="box" id="box"> <div class="inner"> <ul> <li><a href="#"><img src="images/01.jpg" alt=""/>

简单的js焦点图切换效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js带缩略图的图片切换效果

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

js实现网页tab选项卡切换效果

1 <style> 2 *{margin:0;padding:0;} 3 body{font-size:14px;font-family:"Microsoft YaHei";} 4 ul,li{list-style:none;} 5 #tab{position:relative;} 6 #tab .tabList ul li{ 7 float:left; 8 background:#fefefe; 9 background:-moz-linear-gradient(top,