js实现图片切换效果 - 辉子t1

php中文网
发布: 2016-05-20 16:51:01
原创
1497人浏览过

用js实现点击按钮,图片切换的效果:

<span style="color: #008080;"> 1</span>  <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="box"</span><span style="color: #ff0000;"> id</span><span style="color: #0000ff;">="box"</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 2</span>         <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="img_box"</span><span style="color: #ff0000;"> id</span><span style="color: #0000ff;">="img_box"</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 3</span>             <span style="color: #0000ff;"><</span><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="../raw/b1.jpg"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="image"</span> <span style="color: #0000ff;">></span>
<span style="color: #008080;"> 4</span>             <span style="color: #0000ff;"><</span><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="../raw/b2.jpg"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="image"</span> <span style="color: #0000ff;">></span>
<span style="color: #008080;"> 5</span>             <span style="color: #0000ff;"><</span><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="../raw/b3.jpg"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="image"</span> <span style="color: #0000ff;">></span>
<span style="color: #008080;"> 6</span>             <span style="color: #0000ff;"><</span><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="../raw/b4.jpg"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="image"</span> <span style="color: #0000ff;">></span>
<span style="color: #008080;"> 7</span>         <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 8</span>         <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="left"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="switch"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 9</span>         <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="right"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="switch"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">10</span>     <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
登录后复制

结构:用一个固定宽高的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代码:

<span style="color: #008080;"> 1</span> <span style="color: #800000;">*</span>{
<span style="color: #008080;"> 2</span> <span style="color: #ff0000;">    margin</span>:<span style="color: #0000ff;"> 0</span>;
<span style="color: #008080;"> 3</span> <span style="color: #ff0000;">    padding</span>:<span style="color: #0000ff;"> 0</span>;
<span style="color: #008080;"> 4</span> }
<span style="color: #008080;"> 5</span> <span style="color: #800000;">.box</span>{
<span style="color: #008080;"> 6</span> <span style="color: #ff0000;">    width</span>:<span style="color: #0000ff;"> 800px</span>;
<span style="color: #008080;"> 7</span> <span style="color: #ff0000;">    height</span>:<span style="color: #0000ff;"> 400px</span>;
<span style="color: #008080;"> 8</span> <span style="color: #ff0000;">    margin</span>:<span style="color: #0000ff;"> 20px auto</span>;
<span style="color: #008080;"> 9</span> <span style="color: #ff0000;">    position</span>:<span style="color: #0000ff;"> relative</span>;
<span style="color: #008080;">10</span> <span style="color: #ff0000;">    overflow</span>:<span style="color: #0000ff;"> hidden</span>;
<span style="color: #008080;">11</span> }
<span style="color: #008080;">12</span> <span style="color: #800000;">.img_box</span>{
<span style="color: #008080;">13</span> <span style="color: #ff0000;">    height</span>:<span style="color: #0000ff;"> 400px</span>;
<span style="color: #008080;">14</span> <span style="color: #ff0000;">    width</span>:<span style="color: #0000ff;"> 3200px</span>;
<span style="color: #008080;">15</span> <span style="color: #ff0000;">    position</span>:<span style="color: #0000ff;"> absolute</span>;
<span style="color: #008080;">16</span> <span style="color: #ff0000;">    -moz-transition</span>:<span style="color: #0000ff;"> 0.5s</span>;
<span style="color: #008080;">17</span> <span style="color: #ff0000;">    -webkit-transition</span>:<span style="color: #0000ff;"> 0.5s</span>;
<span style="color: #008080;">18</span> }
<span style="color: #008080;">19</span> <span style="color: #800000;">img</span>{
<span style="color: #008080;">20</span> <span style="color: #ff0000;">    width</span>:<span style="color: #0000ff;"> 800px</span>;
<span style="color: #008080;">21</span> <span style="color: #ff0000;">    height</span>:<span style="color: #0000ff;"> 400px</span>;
<span style="color: #008080;">22</span> <span style="color: #ff0000;">    float</span>:<span style="color: #0000ff;"> left</span>;
<span style="color: #008080;">23</span> }
<span style="color: #008080;">24</span> <span style="color: #800000;">.switch</span>{
<span style="color: #008080;">25</span> <span style="color: #ff0000;">    width</span>:<span style="color: #0000ff;"> 200px</span>;
<span style="color: #008080;">26</span> <span style="color: #ff0000;">    height</span>:<span style="color: #0000ff;"> 100%</span>;
<span style="color: #008080;">27</span> <span style="color: #ff0000;">    position</span>:<span style="color: #0000ff;"> absolute</span>;
<span style="color: #008080;">28</span> 
<span style="color: #008080;">29</span> }
<span style="color: #008080;">30</span> <span style="color: #800000;">#left</span>{
<span style="color: #008080;">31</span> <span style="color: #ff0000;">    left</span>:<span style="color: #0000ff;"> 0px</span>;
<span style="color: #008080;">32</span> <span style="color: #ff0000;">    top</span>:<span style="color: #0000ff;"> 0px</span>;
<span style="color: #008080;">33</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0))</span>;
<span style="color: #008080;">34</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0))</span>;
<span style="color: #008080;">35</span> }
<span style="color: #008080;">36</span> <span style="color: #800000;">#right</span>{
<span style="color: #008080;">37</span> <span style="color: #ff0000;">    right</span>:<span style="color: #0000ff;">0px</span>;
<span style="color: #008080;">38</span> <span style="color: #ff0000;">    top</span>:<span style="color: #0000ff;"> 0px</span>;
<span style="color: #008080;">39</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5))</span>;
<span style="color: #008080;">40</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5))</span>;
<span style="color: #008080;">41</span> }
<span style="color: #008080;">42</span> <span style="color: #800000;">#left:hover</span>{
<span style="color: #008080;">43</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -moz-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0))</span>;
<span style="color: #008080;">44</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -webkit-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0))</span>;
<span style="color: #008080;">45</span> }
<span style="color: #008080;">46</span> <span style="color: #800000;">#right:hover</span>{
<span style="color: #008080;">47</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5))</span>;
<span style="color: #008080;">48</span> <span style="color: #ff0000;">    background</span>:<span style="color: #0000ff;"> -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5))</span>;
<span style="color: #008080;">49</span> }
登录后复制
View Code

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;

jquery实现led广告牌旋转系统图片切换效果
jquery实现led广告牌旋转系统图片切换效果

jquery实现led广告牌旋转系统图片切换效果,实现图片的旋转特效,很有新意,php中文网推荐下载!

jquery实现led广告牌旋转系统图片切换效果 65
查看详情 jquery实现led广告牌旋转系统图片切换效果

  -webkit-transition: 0.5s;

 

js代码:

<span style="color: #008080;"> 1</span> <span style="color: #0000ff;">var</span><span style="color: #000000;"> box;
</span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">var</span> count=1<span style="color: #000000;">;
</span><span style="color: #008080;"> 3</span> window.onload=<span style="color: #0000ff;">function</span><span style="color: #000000;">(){
</span><span style="color: #008080;"> 4</span>     box=document.getElementById("img_box"<span style="color: #000000;">);
</span><span style="color: #008080;"> 5</span>     <span style="color: #0000ff;">var</span> left=document.getElementById("left"<span style="color: #000000;">);
</span><span style="color: #008080;"> 6</span>     <span style="color: #0000ff;">var</span> right=document.getElementById("right"<span style="color: #000000;">);
</span><span style="color: #008080;"> 7</span>     left.addEventListener("click"<span style="color: #000000;">,_left);
</span><span style="color: #008080;"> 8</span>     right.addEventListener("click"<span style="color: #000000;">,_right);
</span><span style="color: #008080;"> 9</span>     document.body.addEventListener("mouseover"<span style="color: #000000;">,demo);
</span><span style="color: #008080;">10</span> <span style="color: #000000;">}
</span><span style="color: #008080;">11</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> _right(){
</span><span style="color: #008080;">12</span>     <span style="color: #0000ff;">var</span> dis=0<span style="color: #000000;">;
</span><span style="color: #008080;">13</span>     <span style="color: #0000ff;">if</span>(count<4<span style="color: #000000;">){
</span><span style="color: #008080;">14</span>         dis=count*800<span style="color: #000000;">;
</span><span style="color: #008080;">15</span>     }<span style="color: #0000ff;">else</span><span style="color: #000000;">{
</span><span style="color: #008080;">16</span>         dis=0<span style="color: #000000;">;
</span><span style="color: #008080;">17</span>         count=0<span style="color: #000000;">;
</span><span style="color: #008080;">18</span> <span style="color: #000000;">    }
</span><span style="color: #008080;">19</span>     box.style.left="-"+dis+"px"<span style="color: #000000;">;
</span><span style="color: #008080;">20</span>     count+=1<span style="color: #000000;">;
</span><span style="color: #008080;">21</span> <span style="color: #000000;">}
</span><span style="color: #008080;">22</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> _left(event){
</span><span style="color: #008080;">23</span>     <span style="color: #0000ff;">var</span> dis=0<span style="color: #000000;">;
</span><span style="color: #008080;">24</span>     <span style="color: #0000ff;">if</span>(count>1<span style="color: #000000;">){
</span><span style="color: #008080;">25</span>         dis=(2-count)*800<span style="color: #000000;">;
</span><span style="color: #008080;">26</span>     }<span style="color: #0000ff;">else</span><span style="color: #000000;">{
</span><span style="color: #008080;">27</span>         dis=-3*800<span style="color: #000000;">;
</span><span style="color: #008080;">28</span>         count=5<span style="color: #000000;">;
</span><span style="color: #008080;">29</span> <span style="color: #000000;">    }
</span><span style="color: #008080;">30</span>     box.style.left=dis+"px"<span style="color: #000000;">;
</span><span style="color: #008080;">31</span>     count-=1<span style="color: #000000;">;
</span><span style="color: #008080;">32</span> }
登录后复制
View Code

用全局变量count来记录当前显示的第几张图片,当点击切换按钮的时候根据count来计算应该显示第几张照片,然后计算并设置img_box的left属性即可。

 

效果:http://huizit1.applinzi.com/A-copy/img_switch/img_switch.html

(tips:第一张和第二张图片都是华妃,第二张是截取的剧里面的原图,感觉颜色太暗所以调了一下颜色放在了第一张)

<em id="__mceDel"> </em>
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号