js实现图片切换效果
用js实现点击按钮,图片切换的效果:
1 <div class="box" id="box">
2 <div class="img_box" id="img_box">
3 <img src="../raw/b1.jpg" class="image" >
4 <img src="../raw/b2.jpg" class="image" >
5 <img src="../raw/b3.jpg" class="image" >
6 <img src="../raw/b4.jpg" class="image" >
7 </div>
8 <div id="left" class="switch"></div>
9 <div id="right" class="switch"></div>
10 </div>
结构:用一个固定宽高的div来做最外层的容器,设置overflow为hidden,
然后内层img_box设置宽度为四倍box的宽度,高度相同,也就是说img_box里面盛放四张img,但是可见的只有一张,下面的两个div,left和right是充当按钮实现点击切换图片,切换图片也就是改变img_box的left属性,所以img_box应该设置position为absolute,为了方便起见,box的position设置为relation,这样img_box就是相对box进行定位了。四张图片设置float为left,宽度和高度与box相同.
CSS代码:
1 *{
2 margin: 0;
3 padding: 0;
4 }
5 .box{
6 width: 800px;
7 height: 400px;
8 margin: 20px auto;
9 position: relative;
10 overflow: hidden;
11 }
12 .img_box{
13 height: 400px;
14 width: 3200px;
15 position: absolute;
16 -moz-transition: 0.5s;
17 -webkit-transition: 0.5s;
18 }
19 img{
20 width: 800px;
21 height: 400px;
22 float: left;
23 }
24 .switch{
25 width: 200px;
26 height: 100%;
27 position: absolute;
28
29 }
30 #left{
31 left: 0px;
32 top: 0px;
33 background: -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
34 background: -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
35 }
36 #right{
37 right:0px;
38 top: 0px;
39 background: -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5));
40 background: -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5));
41 }
42 #left:hover{
43 background: -moz-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0));
44 background: -webkit-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0));
45 }
46 #right:hover{
47 background: -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5));
48 background: -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5));
49 }
left和right用到了背景颜色和透明度渐变的属性,只添加了火狐浏览器和webkit浏览器,另外现在有的IE浏览器是IE和webkit双内核如360安全浏览器
background: -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
为了实现切换的时候平滑过渡,所以添加了transition属性:
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
js代码:
1 var box;
2 var count=1;
3 window.onload=function(){
4 box=document.getElementById("img_box");
5 var left=document.getElementById("left");
6 var right=document.getElementById("right");
7 left.addEventListener("click",_left);
8 right.addEventListener("click",_right);
9 document.body.addEventListener("mouseover",demo);
10 }
11 function _right(){
12 var dis=0;
13 if(count<4){
14 dis=count*800;
15 }else{
16 dis=0;
17 count=0;
18 }
19 box.style.left="-"+dis+"px";
20 count+=1;
21 }
22 function _left(event){
23 var dis=0;
24 if(count>1){
25 dis=(2-count)*800;
26 }else{
27 dis=-3*800;
28 count=5;
29 }
30 box.style.left=dis+"px";
31 count-=1;
32 }
用全局变量count来记录当前显示的第几张图片,当点击切换按钮的时候根据count来计算应该显示第几张照片,然后计算并设置img_box的left属性即可。
效果:http://39.105.101.122/myhtml/A-copy/img_switch/img_switch.html
(tips:第一张和第二张图片都是华妃,第二张是截取的剧里面的原图,感觉颜色太暗所以调了一下颜色放在了第一张)
js实现图片切换效果的更多相关文章
- js鼠标滚轮滚动图片切换效果
效果体验网址:http://keleyi.com/keleyi/phtml/image/12.htm HTML文件代码: <!DOCTYPE html PUBLIC "-//W3C// ...
- js原生带缩略图的图片切换效果
js原生带缩略图的图片切换效果 本例中用到的 moveElement(elementID,final_x,final_y,interval)是来自<JavaScript DOM编程艺术(中文第二 ...
- jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发
详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的ban ...
- 前端设计——js实现图片切换的淡入淡出
1.网页结构如图所示 2.页面布局设计细节 ①分块:一个小方块是一个div. ②无序列表一般是竖直排放的,可以通过float让其水平排放.float:left; ③三个小方块是浮动上去的,所以要用到p ...
- jquery带按钮的图片切换效果
<!doctype html> <html> <head> <meta charset="gb2312"> <title> ...
- 精致3D图片切换效果,最适合企业产品展示
这是一个精致的立体图片切换效果,特别适合企业产品展示,可立即用于实际项目中.支持导航和自动播放功能, 基于 CSS3 实现,推荐使用最新的 Chrome,Firefox 和 Safari 浏览器浏览效 ...
- JS实现图片''推拉门''效果
JS实现图片''推拉门''效果 ''推拉门''动效也可以称作"手风琴"效果,大多数效果实现的思路基本是一样的,下面介绍两种方法,一种是通过改变图片的偏移位置实现移动,另一种是通 ...
- 100种不同图片切换效果插件pageSwitch
分享100种不同图片切换效果插件pageSwitch.这是一款适用于全屏切换场景,即一切一屏,并且实现了超过一百种切换效果,支持自定义切页动画.效果图如下: 在线预览 源码下载 实现的代码. ht ...
- 用html+css+js实现选项卡切换效果
文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...
- Flash 用FLASH遮罩效果做图片切换效果
本教程是关于FLASH应用遮罩效果制作好看的图片切换效果.该教程选用FLASH遮罩中最简单的一种作为例子,当然你可以用自己的想象力来做出更多更好的图片动画.希望本教程能带你带来帮助. 让我们先看看效果 ...
随机推荐
- JAVA网络编程样例
这篇文章主要用来总结Java在网络编程中的知识点 下面是一个Java客户端与服务端通信的样例程序 //Server public class Server { public static void m ...
- 集合-HashMap 源码详细分析(JDK1.8)
1. 概述 本篇文章我们来聊聊大家日常开发中常用的一个集合类 - HashMap.HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现.HashMap 允许 null 键和 null 值 ...
- (原创)【B4A】一步一步入门10:TabHost,标签页、标题带图标(控件篇06)
一.前言 本篇教程我们来讲一下TabHost(标签页)的基本使用方法. 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesliexin/p/1728556 ...
- 运输问题和指派问题—R实现
运输问题和指派问题 运输问题经常出现在计划货物配送和从某些供给地区到达需求地区之间的服务中,特别是每个供给地区(起点)的货物可获得量是有限的,每个需求地区(目的地)的货物需求量是已知的.运输问题中最常 ...
- PDD也可以通过ID获取商品详情?
先我们可以通过pinduoduo.item_get的接口传入商品的ID参数,这个接口可以获取到拼多多商品的详情数据,包括商品的标题.价格.原价.卖家的昵称.库存.销量.宝贝的链接.商品的备注.宝贝图片 ...
- 二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 ...
- pandas之sorting排序
Pands 提供了两种排序方法,分别是按标签排序和按数值排序.本节讲解 Pandas 的排序操作.下面创建一组 DataFrame 数据,如下所示: import pandas as pd impor ...
- pythonz之time库常用方法
ime.time() 获取当前时间戳.time.ctime() 当前时间的字符串形式.time.localtime() 当前时间的 struct_time 形式.time.strftime() 用来获 ...
- 基于OCR进行Bert独立语义纠错实践
摘要:本案例我们利用视频字幕识别中的文字检测与识别模型,增加预训练Bert进行纠错 本文分享自华为云社区<Bert特调OCR>,作者:杜甫盖房子. 做这个项目的初衷是发现图比较糊/检测框比 ...
- 设置Windows主机的浏览器为wls2的默认浏览器
这里以Chrome为例. 1. 准备工作 wsl是可以使用Windows主机上安装的exe程序,出于安全考虑,默认情况下改功能是无法使用.要使用的话,终端需要以管理员权限启动. 我这里以Windows ...