多张图片的左右切换特效,实现循环切换

一个页面同时要显示多个图片,并且需要实现这多个图片的循环切换。
贴代码:

<!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-Type" content="text/html; charset=utf-8" />
<title>jQ左右滑动切换特效</title>

<link rel="stylesheet" href="css/style.css" type="text/css" />

</head>

<body>

<div class="bodyCon08"><!--学员-->
    <div class="students">

          <div id="four_flash">
            <div class="flashBg">
                <ul class="mobile">
                    <li>
                        <img src="images/senke_xy00.jpg" />
                        <dd>高同学</dd>
                        <p>2013年CPA暑期班学员,一年通过5门课程</p>
                        <a href=""></a>
                    </li>
                    <li>
                        <img src="images/senke_xy01.jpg" />
                        <dd>李同学</dd>
                        <p>2014年CPA周末旗舰班学员;1年通过4门课程</p>
                        <a href=""></a>
                    </li>
                    <li>
                        <img src="images/senke_xy02.jpg" />
                        <dd>丁同学</dd>
                        <p>现就职某会计师师事务所<br/>2012年CPA学员,3年通过6门课程</p>
                        <a href=""></a>
                    </li>
                    <li>
                        <img src="images/senke_xy03.jpg" />
                        <dd>宋同学</dd>
                        <p>2013年会计证、CPA长线周末班学员,2014年通过4门课程;</p>
                        <a href=""></a>
                    </li>
                    <li>
                        <img src="images/senke_xy04.jpg" />
                        <dd>战同学</dd>
                        <p>2012年北京会计初级金榜,2014年会计中级高分一次通过</p>
                        <a href=""></a>
                    </li>
                    <li>
                        <img src="images/senke_xy05.jpg" />
                        <dd>于同学</dd>
                        <p>2014年会计中级学员,1次性通过中级全科</p>
                        <a href=""></a>
                    </li>

                </ul>
            </div>
            <div class="but_left"><img src="images/qianxleft.png" /></div>
            <div class="but_right"><img src="images/qianxr.png" /></div>
          </div>

    </div>
</div>

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$("#four_flash .but_right img").click(function(){
    $self = $('.mobile');
    $self.stop().animate({"margin-left" : -326 +"px"},800 , function(){
                $self.css({"margin-left":"0px"}).find("li:first").appendTo($self);
            });
});

$("#four_flash .but_left img").click(function(){
    $self = $('.mobile');
    $self.css({"margin-left" : -326 +"px"}).find("li:last").prependTo($self);
            $self.stop().animate({"margin-left" : "0px"},800 , function(){});
});
</script>   
</div>
</body>
</html>

css文件:

@charset "utf-8";
/**基本格式开始***************/
*{word-break:break-all;}
body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,textarea,p 
{margin:0 auto;padding:0px;font-size:12px; font-family:微软雅黑;width:100%;}
ul{list-style:none;}
img,a img {border:none;}
a{text-decoration:none;}
a{color:#000;}
a:hover{text-decoration:none;}
/**基本格式结束***************/

/*森科单页头部开始*/
.bodyCon08{background:url(../images/dy_pic11.jpg);}
.bodyCon08 .students{margin:0 auto;width:1100px;height:480px;position:relative;}
.bodyCon08 .students p.PP{width:510px;height:50px;font-size:16px;color:#333;text-align:center;position:absolute;top:60px; left:300px;}
#four_flash{position:relative;width:1100px;height:400px; margin:0 auto;position:absolute;bottom:40px;}
#four_flash .flashBg{width:998px;height:400px; margin:0 auto;position:relative;overflow:hidden;}
#four_flash .flashBg ul.mobile{width:200%;height:400px; position:absolute;top:15; left:0;}
#four_flash .flashBg ul.mobile li{border:10px solid #2E324B;float:left;width:280px;height:340px;margin-left:26px;padding-top:40px;color:#6C6E85;}
#four_flash .flashBg ul.mobile li:hover{border:10px solid #343851; color:#fff;}
#four_flash .flashBg ul.mobile li img{width:140px;height:140px;display:block; margin:0 auto;border:10px solid #343851; border-radius:82px;}
#four_flash .flashBg ul.mobile li dd{font-size:20px;width:250px;line-height:60px;text-align:center;border-bottom:1px solid #6C6E85;}
#four_flash .flashBg ul.mobile li p{font-size:16px; text-align:center;width:250px; line-height:24px;margin-top:10px;}
#four_flash .flashBg ul.mobile li a{display:block;background:url(../images/jiantou.png);width:31px;height:31px;border:0px;margin:8px auto;}
#four_flash .flashBg ul.mobile li a:hover{background:url(../images/jiantou2.png);}
#four_flash .but_left{width:50px;height:100px;position:absolute; top:136px; left:0px;}
#four_flash .but_right{width:50px;height:100px; position:absolute; top:136px; right:0px;}
#four_flash .but_left:hover{background:url(../images/qianxleft1.png) no-repeat;}
#four_flash .but_right:hover{background:url(../images/qianxr1.png) no-repeat;}

接下来主要解释一下js里面的左右切换函数

$("#four_flash .but_right img").click(function(){//右切换
    $self = $('.mobile');//选取ul对象
    $self.stop().animate({"margin-left" : -326 +"px"},800 , function(){
    //326是一个li元素的width,先将ul整体向左移出一个li
                $self.css({"margin-left":"0px"}).find("li:first").appendTo($self);
                //将移出的那个li**剪切**到ul的末尾,然后将ul的margin-left设为0。
            });
});

$("#four_flash .but_left img").click(function(){//左切换
    $self = $('.mobile');
    $self.css({"margin-left" : -326 +"px"}).find("li:last").prependTo($self);
    //将ul的最后一个li剪切到ul的第一个li,然后将其margin-left设为-326。
    $self.stop().animate({"margin-left" : "0px"},800 , function(){});//显示
});

主要是appendTo和prependTo的妙用。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
百叶窗切换特效是一种比较常见的UI界面特效,可以在C语言中通过图形库来实现。下面是一个简单的示例代码: ```c #include <graphics.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <dos.h> #define DELAY 30 // 定义延迟时间,单位为毫秒 int main() { int gd = DETECT, gm, i, j, k, m, n; initgraph(&gd, &gm, ""); setbkcolor(WHITE); // 设置背景颜色为白色 cleardevice(); // 清屏 // 读取第一张图片 readimagefile("image1.jpg", 0, 0, getmaxx(), getmaxy()); // 循环切换图片 for (i = 0; i < getmaxx(); i += 10) { for (j = 0; j < getmaxy(); j += 10) { for (k = 0; k < 10; k++) { // 绘制百叶窗效果 setfillstyle(SOLID_FILL, BLACK); bar(i, j + k * 10, i + 10, j + k * 10 + 5); delay(DELAY); } // 读取下一张图片 m = rand() % 5 + 1; char filename[10]; sprintf(filename, "image%d.jpg", m); readimagefile(filename, 0, 0, getmaxx(), getmaxy()); for (n = 10; n >= 0; n--) { // 恢复百叶窗效果 setfillstyle(SOLID_FILL, WHITE); bar(i, j + n * 10, i + 10, j + n * 10 + 5); delay(DELAY); } } } getch(); closegraph(); return 0; } ``` 这个示例代码中,我们使用了 `graphics.h` 图形库来实现图形绘制和读取图片,使用了 `conio.h` 库来等待用户按下任意键退出程序。具体实现方法是在循环中绘制一系列黑色的矩形,形成百叶窗效果,然后读取下一张图片,并恢复百叶窗效果,最终形成百叶窗切换特效。其中 `DELAY` 常量定义了延迟时间,可以根据需要自行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值