关于使用JavaScript实现图片点击切换(附带改变导航图片 方案二)

具体需求见方案一。

这种方案是老师给出的,相比方案一更加专业。

  1 <!DOCTYPE html>
  2 <html>
  3 <head lang="en">
  4     <meta charset="UTF-8">
  5     <title></title>
  6     <style type="text/css">
  7         #main{
  8             border: solid 1px red;
  9             margin: 20px auto;
 10             width: 500px;
 11         }
 12         #top{
 13             text-align: center;
 14         }
 15         #imgl,#imgr{
 16             margin-bottom: 70px;
 17         }
 18         #img{
 19             margin: 0px 50px;
 20         }
 21         .initClass{
 22             width: 50px;
 23             border: solid 2px #fff;
 24             margin:10px 5px;
 25         }
 26         .focusClass{
 27             width: 50px;
 28             border: solid 2px red;
 29             margin:10px 5px;
 30         }
 31     </style>
 32     <script type="text/javascript" src="js/system.js"></script>
 33 </head>
 34 <body>
 35     <div id="main">
 36         <div id="top">
 37             <img src="images/left.png" id="imgl">
 38             <img src="images/1.jpg" id="img">
 39             <img src="images/right.png" id="imgr">
 40         </div>
 41         <div id="bottom">
 42             <img src="images/1.jpg" id="img1" class="focusClass" data-index="1">
 43             <img src="images/2.jpg" id="img2" class="initClass" data-index="2">
 44             <img src="images/3.jpg" id="img3" class="initClass" data-index="3">
 45             <img src="images/4.jpg" id="img4" class="initClass" data-index="4">
 46             <img src="images/5.jpg" id="img5" class="initClass" data-index="5">
 47             <img src="images/6.jpg" id="img6" class="initClass" data-index="6">
 48             <img src="images/7.jpg" id="img7" class="initClass" data-index="7">
 49         </div>
 50     </div>
 51     <script type="text/javascript">
 52         var slide={
 53             arrImg:new Array("images/1.jpg","images/2.jpg","images/3.jpg",
 54                     "images/4.jpg","images/5.jpg","images/6.jpg","images/7.jpg"),
 55             initClass:"initClass",
 56             focusClass:"focusClass",
 57             index:1,
 58             arrMax:7,
 59             imgMain:"img"
 60         }
 61         slide.top= {
 62             navEvent: function () {
 63                 //上部分大图片显示累加后下标对应的图片
 64                 $$(slide.imgMain).src = slide.arrImg[slide.index - 1];
 65                 //根据焦点下标值组合成导航图片名称
 66                 var n = "img" + slide.index;
 67                 //执行对应导航图片的单击事件
 68                 $$(n).click();
 69             },
 70             //处理页面上一部分的逻辑
 71             clickRight: function () {
 72                 //点击向右按钮处理事件
 73                 console.log(slide.index);
 74                 //当下标小于或等于最大图片数量时
 75                 if (slide.index < slide.arrMax) {
 76                     //累加当前焦点下标值
 77                     slide.index++;
 78                     //执行点击右键时的图片导航效果
 79                     slide.top.navEvent();
 80                 }
 81             },
 82             clickLeft: function () {
 83                 //点击向右按钮处理事件
 84                 console.log(slide.index);
 85                 if (slide.index > 1) {
 86                     //累加当前焦点下标值
 87                     slide.index--;
 88                     //执行点击左键时的图片导航效果
 89                     slide.top.navEvent();
 90                 }
 91             }
 92         }
 93         slide.bottom= {
 94             initImgClass: function () {
 95                 //初始化全部底部图片的样式
 96                 for (var i = 1; i <= slide.arrMax; i++) {
 97                     var n = "img" + i;
 98                     $$(n).className = slide.initClass;
 99                 }
100             },
101             initPage: function () {
102                 //处理页面下一部分的逻辑
103                 $$("imgl").onclick=function(){
104                     slide.top.clickLeft();
105                 }
106                 $$("imgr").onclick=function(){
107                     slide.top.clickRight();
108                 }
109                 //获取所有的底部下图片
110                 for (var i = 1; i <= slide.arrMax; i++) {
111                     //为每一张图片绑定点击事件
112                     var n = "img" + i;
113                     $$(n).onclick = function () {
114                         //初始化全部样式
115                         slide.bottom.initImgClass();
116                         //图片元素本身获取焦点样式
117                         this.className = slide.focusClass;
118                         //在上部图片中显示点击小图的对应大图片
119                         $$(slide.imgMain).src=slide.arrImg[this.getAttribute("data-index")-1];
120                         //重新记录焦点图片在数组中的对应下标位置
121                         slide.index=this.getAttribute("data-index");
122                     }
123                 }
124             }
125         }
126         slide.bottom.initPage();
127     </script>
128 </body>
129 </html>
时间: 2024-10-07 10:58:20

关于使用JavaScript实现图片点击切换(附带改变导航图片 方案二)的相关文章

Javascript:实操---类似京东图片点击切换

CSS部分 <style>*{ margin:0; padding:0;}#div1{ width:670px; height:150px; margin:20px auto; position:relative; overflow:hidden;}.out{ width:5000px; height:150px; overflow:hidden; position:absolute;}.out ul{ height:150px; list-style:none; position:absol

3d图片点击切换

效果图: 代码块: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0px; padding: 0px; } body{ background: #000000; overflow-x: hidden; } #banner{

缩略图+多组图片点击切换

1.做的弹出内容,不知道是不是老师要求的效果. 2.做元素坐标练习的时候有几个问题 1.纠结% 这个运算符的时候,纠结了很久,还是没用,没太清楚它的用法,适合用在什么地方. 2.本来的思路是  写 li 的 style 属性,背景颜色位置单独写,发现有点罗嗦, 于是就尝试都写在ul里面,但是有判断语句的时候,就不知道怎么写了.

CSS3新增文本属性实现图片点击切换效果

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Keywords" content="关键词"> <meta name="Description" content="描述"> <title>CSS3新增文

一款基于css3的3D图片翻页切换特效

今天给大家分享一款基于css3的3D图片翻页切换特效.单击图片下方的滑块会切换上方的图片.动起你的鼠标试试吧,效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="imgdex"> <figure> <img src="arabic-eyes.jpg" alt="Photograph of a woman's face under a Bedouin headress"><

15款jQuery带缩略图的图片轮播切换特效代码

JQuery宽屏电影大图幻灯片轮播切换代码 jquery带文字缩略图的图片轮播切换代码 jQuery OwlCarousel图片滚动插件世界杯图片轮播滚动代码 jQuery仿中国建设银行带缩略图控制滚动图片轮播切换 jquery图片滑动切换效果左右按钮控制图片滑动轮播切换效果 jQuery幻灯片插件可自动轮播和暂停的图片幻灯片代码 jQuery带缩略图的焦点图代码_带标题的焦点图代码 jquery图片轮播插件带小缩略图片的焦点图切换效果代码 原生js图片插件缩略图片控制大图淡出淡进切换支持图片轮

原生js解决图片点击左右切换(简单轮播图)

想写一个综合性的小案例,主要会运用到数组和判断以及我前面几篇博客所复习到的js的知识.今天案例想要实现的效果图如下图所示: 效果是:点击"循环切换"按钮,那么"一号"位置的文案就要写入"图片可以循环",而下面的左右箭头在点击过程中可以循环点击,并且"二号"和"三号"要响应切换到相对应的数字和文字内容:否则,点击"顺序切换"按钮,那么"一号"位置的文案就要写入"

1.横向滚动条,要设置两个div包裹. 2. 点击切换视频或者图片. overflow . overflow-x

1.横向滚动条. div.1 > div.2 > img img  img 第一: 设置 div.1 一个固定的宽度 和高度  . 例如宽度 700px;  高度是 120px; 设置 overflow-x 第二; 每个图片的 宽度是 150px, 高度 100px( 比 div.1 小, 要可以显示横向滚动条 第三: 重点 . 设置 div.2 的宽度 .  如果有 10个图片, 每个图片margin-right 为 10px,   那么 div.2 的宽度就是  (150+10)*10 这

解决基于JQ焦点图快速点击切换按钮图片显示错误的问题

之前用原生js做过焦点图,今天突然想用JQ做一下,但是遇到一个问题,当我不停点击切换按钮时,由于不停触发animate动画,导致图片显示错乱的问题,解决办法第一想到的就是点击切换后立刻解绑事件,然后动画函数运行完再添加事件,但是 ....用 $('.box').unbind('click'); 解绑后,再把原有事件添加回来却没有办法添加回来 $("button").bind("click",function(){ //函数体 }); 这样?可是函数体里没法写 ,可能