精华内容
下载资源
问答
  • 基于Android的校园跳蚤市场(二手)的设计与实现

    万次阅读 多人点赞 2016-08-28 23:21:02
    基于Android的校园跳蚤市场(二手)的设计与实现一、摘要当今移动互联网高速发展,本文详细介绍了基于Android的跳蚤市场app从可行性研究,需求分析,总体设计,详细设计实现、编码、测试维护的实现过程。...

    基于Android的校园跳蚤市场(二手)的设计与实现

    新版本地址:https://blog.csdn.net/qq137722697/article/details/114526413

    一、摘要

    当今移动互联网高速发展,本文详细介绍了基于Android的跳蚤市场app从可行性研究,需求分析,总体设计,详细设计,实现、编码、测试与维护的实现过程。本系统旨在为高校的学生提供一个处理闲置、买到物美价廉的商品的平台;更重要的是,本系统可以让闲置的物品得到充分的利用,达到节约资源、实现优化资源配置等功能。

    二、目录

    这里写图片描述
    这里写图片描述

    三、效果图

    3.1、服务端

    服务端主要有管理用户管理商品管理评论查看数据统计版本控制修改管理员个人信息等。

    使用的是JavaEE写的后台管理,页面布局主要使用Html+CSS、JavaScript、JQuery、ECharts等完成。

    这里写图片描述

    3.2、app端

    3.2.1、登录页面

    这里写图片描述

    3.2.2、注册页面

    1)、使用到了Mob的短信注册功能。(收到短信验证码之后自动填写到输入框,免去用户自己还要输入的过程)

    这里写图片描述
    2)、等待收取短信验证码
    这里写图片描述
    3)、短信内容

    这里写图片描述
    4)、完善个人信息
    这里写图片描述
    点击注册,注册成功之后跳转到登录页面。

    3.2.3、主页面

    1)、首页(商品搜索,广告栏,分类,急售,最新发布)

    这里写图片描述

    2)、首页(拍卖)

    这里写图片描述

    3)、分类

    这里写图片描述

    4)、发布

    这里写图片描述这里写图片描述
    ###3.2.4、商品详细页面

    用户可以选择联系卖家(直接拨打电话,发送短信),也可以发表评论,如果是拍卖的商品还可以出价等。

    这里写图片描述

    3.2.5、商品发布页面

    1)、填写发布页面

    这里写图片描述

    2)、自定义相机页面
    (模拟器运行的效果哦)

    这里写图片描述

    限于篇幅,一些界面就不一一显示出来了。

    四、业务流程设计

    业务流程图(Transaction Flow Diagram, TFD),顾名思义,就是站在用户角度的业务或操作的流向,接下来就是本系统的业务流程图设计。

    4.1、从游客到普通会员的业务流程图

    这里写图片描述

    4.2、从普通会员角度实现的业务流程图

    这里写图片描述

    4.3、从管理员角度实现的业务逻辑

    这里写图片描述

    五、数据流图

    数据流图(DFD),就是承载了数据流向的图形信息,通过这些信息便于了解系统数据的流向。即使是非计算机专业的人员也可以看懂,便于与非开发人员进行沟通。

    5.1、非会员用户数据流图

    这里写图片描述

    5.2、普通会员数据流图

    这里写图片描述

    5.3、管理员数据流图

    这里写图片描述

    六、数据字典

    限于篇幅,这里只给出一个用户信息的数据字典
    这里写图片描述

    七、用例图

    7.1、游客用例图

    这里写图片描述

    用例小结:
    短信验证。游客必须通过了系统规定的短信验证,验证通过之后才能完善个人信息,完善之后才能注册成功。
    完善个人信息。短信验证成功之后,才能进入完善个人信息,信息包括昵称、密码、学号、性别。

    7.2、普通会员用例图

    这里写图片描述

    用例小结:
    **登录。**用户必须登录才能进入手机主页面
    **浏览/查询商品信息。**浏览查询商品信息之后可以对商品进行评价、出价。可以联系卖家。
    **发布商品。**可以发布普通的商品、发起拍卖、免费送的商品等。
    **修改个人信息。**可以修改昵称和密码,修改密码需要发送短信验证才可以进行修改。
    **管理个人商品。**用户发布商品之后,能查看和删除自己的商品,如果商品已经卖出了可以设置该商品的状态为已经下架。

    7.3、管理员用例图

    管理员用例图

    八、功能模块图

    功能模块是系统所拥有的功能的集合表达,可以将父模块划归成许多的子模块,所有的子模块功能就组成了系统的总体功能。

    8.1、总体功能模块

    这里写图片描述

    8.2、非会员模块

    只用一个注册功能,就不贴图了
    ###8.3、普通会员模块
    这里写图片描述

    8.4、管理员模块

    这里写图片描述

    九、总体设计

    9.1、MVC模式与工程目录结构

    MVC模式是开发中最流行的一种模式了,它主要包括Model模型层,以及View视图层,当然还有非常重要的Controller控制器层,下面来说说它的这三层到底对应什么:

    • 模型(Model)层:是对数据进行相关处理的一层,处理完成之后送给控制层。
    • 视图(View)层:顾名思义这一层就是用户可以看到的一层,它用于显示一些控制器处理完成之后返回的数据和信息。
    • 控制器层(controller):控制器层在MVC中扮演者非常重要的角色,它是需要获取用户的请求的交互数据,然后通过一种非常安全的方式交给模型层来处理交互数据,处理之后把结果交给视图层,视图层再显示交互数据给用户。

    View层和Model分离,这样就可以实现更改View层的程序代码而不重新编译Model和Controller的代码;同样的,一个程序的需求改变的了,就只需更改MVC的Model层即可。由于Model、Controller和View之间是隔离的,因此很容易对系统的代码进行操作维护。
    本系统的客户端和后台管理也都将采用MVC模式,具体的工程目录结构图如下:
    这里写图片描述
    正如图4.4所示,layout文件夹对应View层,里面存放的都是一下XML布局文件,activity[9]文件夹对应的是Controller层,里面是用户控制view显示,获取到用户的交互数据并交给Model层。model文件夹对应的就是Model层了,用于处理一些业务逻辑,并返回处理结果给Controller。
    这里写图片描述
    如图4.5所示,view文件夹在MVC模式中就算是View视图层,它是用来集中Jsp网页文件,便于管理界面显示。Action文件夹在MVC模式中算做Controller控制器层,里面都是一些接收请求发送响应的Servlet[10]。Model和engine文件夹在MVC模式中就算是Model层,这里面主要是业务逻辑/服务类,并返回处理结果到Controller。

    9.2、E-R图

    局部ER图实在太多,这里只贴总体的ER图
    这里写图片描述

    9.3、数据库设计

    这里也是只贴总体设计:
    这里写图片描述

    十、实现

    限于篇幅,这里不贴实现了。

    展开全文
  • Linux内核设计与实现_第三版_中文版

    千次下载 热门讨论 2013-08-28 15:35:22
    《Linux内核设计与实现》第三版,中文版。基于Linux 2.6.34内核,本书详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。
  • 我的家乡介绍网站设计与实现

    万次阅读 多人点赞 2020-06-14 15:12:44
    介绍家乡网站设计与实现

    以“我的家乡”为主题的前端网页设计
    废话不多说先上图:网页图片

    用 :hover实现鼠标放到图片上实现放大效果
    在这里插入图片描述
    有视频

    有轮播图 纯css 替换的话图片尺寸 1100px * 299px

    有浮动广告

    只展示了主页部分
    新手小白 不喜勿喷

    html部分代码

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>滨州主页</title>
        <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
        <!-- 引入初始化css -->
        <link rel="stylesheet" href="css/base.css">
        <!-- 引入css -->
        <link rel="stylesheet" href="css/index.css">
          <!-- 引入漂浮广告函数 -->
        <script src="js/index.js"></script>
    </head>
    
    <body>
        <!-- 顶部轮播图的盒子 -->
        <div class="box-top w">
            <lu class="kuai">
                <li>
                    <img src="images/top-1.jpg" />
                </li>
                <li>
                    <img src="images/top-2.jpg" />
                </li>
                <li>
                    <img src="images/top-3.jpg" />
                </li>
                <li>
                    <img src="images/top-4.jpg" />
                </li>
                <li>
                    <img src="images/top-5.jpg" />
                </li>
    
            </lu>
        </div>
        <!-- 导航栏部分开始了 -->
        <div class="box-nav w">
            <ul>
                <li class="xz">
                    <a href="index.html">首页</a></li>
                <li>
                    <a href="jxls.html">家乡历史</a></li>
                <li>
                    <a href="jxmj.html">家乡美景</a></li>
                <li>
                    <a href="jxmr.html">家乡名人</a></li>
                <li>
                    <a href="jxms.html">家乡美食</a></li>
                <li>
                    <a href="jxjz.html">家乡建筑</a></li>
            </ul>
        </div>
        <!-- 宣传片部分 -->
        <div class="xcp w">
            <h1>欢迎观看宣传片</h1>
            <br>
            <video src="mp4/binzhou.mp4" autoplay="autoplay" width="1200px" controls="controls"> 你的浏览器不支持视频播放 请更换IE9 以上的浏览器</video>
    
        </div>
        <!-- 主体部分 -->
        <div class="box-main w">
    
            <!-- 滨州简介模块 -->
            <!-- 滨州简介模块 -->
            <div class="box-main-mokuai">
                <h2>滨州简介</h2>
                <br>
                <!-- 左侧的图片部分 -->
                <div class="box-main-mokuai-1">
                    <img src="images/滨州-1.jpg" alt="">
                </div>
                <!-- 右侧的文字介绍部分 -->
                <div class="box-main-mokuai-2">
                    <p> 滨州市位于黄河下游、鲁北平原,地处黄河三角洲尾闾,北临渤海,东与东营市接壤,南和淄博市毗邻,西同德州市和济南市搭界,是山东的北大门。现辖滨城区、沾化区、惠民县、阳信县、无棣县、博兴县、邹平县五县二区和滨州经济开发区、滨州北海经济开发区以及滨州高新技术产业开发区,版图面积9453平方千米,人口379万。滨州交通便利。济青高速、滨博高速、京滨高速和205、220国道穿越境内,是连接苏、鲁、京、津的重要通道。滨州是中国最大的冬枣生产基地,渤海文蛤、梭子蟹等名优水产品名扬海内外。</p>
                    <p>滨州因居“渤海之滨·黄河之州”而得名。2000年,撤地设市,现辖七个县市区和三个市属开发区,是国家“黄蓝”两区战略的主战场,也是京津冀协同发展建设的重要组成部分。</p>
                </div>
            </div>
    
            <!-- 滨州人口数据模块 -->
            <div class="box-main-mokuai">
                <h2>人口数据</h2>
                <br>
                <!-- 左侧的图片 -->
                <div class="box-main-mokuai-1">
                    <img class="box-main-mokuai-1-img" src="images/人口.png" alt="">
                </div>
                <!-- 右侧的文字介绍部分 -->
                <div class="box-main-mokuai-2">
                    <p>一、全市常住人口</p>
                    <p> 滨州市住人口为374.85万人,同第五次全国人口普查2000年11月1日零时的356.41万人相比,十年共增加了18.44万人。增长5.17%,年平均增长0.51%,</p>
                    <p>二、家庭户人口</p>
                    <p>全市常任人口中共有家庭户13115.91万户, 家庭户人口为357.02万人,平均每个 家庭户的人口为3.08人,比200单五次人口普查的.26人减少70.18人。
                    </p>
                    <p> 三、性别构成</p>
                    <p>全市常住人口中,男性为188.40万人,占总人口的50.26%;女性为186.45万人, 占总人口的49.74%,总人口性别比(以女性为100,男性对女性的比例)由2000年 的100.90.上升为101.05。
                    </p>
                </div>
    
            </div>
            <!-- 政治文化模块 -->
            <div class="box-main-mokuai">
                <h2>政治文化</h2>
                <br>
                <!-- 左侧的图片 -->
                <div class="box-main-mokuai-1">
                    <img class="box-main-mokuai-1-img" src="images/政治文化.png" alt="">
                </div>
                <!-- 右侧的文字介绍部分 -->
                <div class="box-main-mokuai-2">
                    <p>滨州市位于山东省的北部,黄河三角洲腹地。因公元951年(后周显德三年)置滨州而 得名。滨州历史悠久,源远流长,传承有序。从鲁北阳信小韩遗址出土的文物判断,早在七 千多年以前,这就有人类繁衍,是黄河文化和齐文化的发祥地之一。正如《易●系辞》所载: 包牺(伏羲)氏没,神农氏作。斫木为耜,揉木为耒,耒耨之利,以教天下。”商代为薄 姑氏领地,因“薄”与“蒲”、“博”“渤”“鹁”等字通假,才有了“蒲台”“博兴”“渤海 湾”“鹁鸪李”诸多地名的历史由来。秦朝开始建县,从西汉起至民国先后设有郡(国)、州、
                        府、道等地方行政建置,五代时期置滨州,以濒临渤海而得名。
                    </p>
                </div>
            </div>
            <!-- 经济概况模块 -->
            <div class="box-main-mokuai">
                <h2>经济概况</h2>
                <br>
                <!-- 左侧的图片 -->
                <div class="box-main-mokuai-1">
                    <img class="box-main-mokuai-1-img" src="images/经济.jpg" alt="">
                </div>
                <!-- 右侧的文字介绍部分 -->
                <div class="box-main-mokuai-2">
                    <p>经济运行总体平稳。全年实现生产总值(GDP)2612.92亿元,按可比价格计算,增长6.2%。其中,第一产业增加值237.17亿元,增长3.8%;第二产业增加值1222.30亿元,增长5.8%;第三产业增加值1153.45亿元,增长7.1%。三次产业结构由上年的9.2:47.1:43.7调整为9.1:46.8:44.1。人均生产总值达到66970元(按年均汇率折算为9919美元),增长5.4%。
    
                    </p>
                    <p>物价指数平稳上涨。居民消费价格总水平上涨0.9%,其中,服务价格上涨3.1%,消费品价格下降0.5%。工业生产者出厂价格上涨7.9%,购进价格上涨14.8%。</p>
    
                </div>
            </div>
    
            <!-- 清除浮动 -->
            <!-- 清除浮动 -->
            <div style="clear: both;"></div>
        </div>
       <!-- 外链部分 -->
        <div class="wl w">
            <h1>友情链接</h1>
            <br>
            <ul>
    
                <li>
                    <a href="http://www.binzhou.gov.cn/">滨州市人民政府</a>
                </li>
                <li>
                    <a href="http://jy.binzhou.gov.cn/">滨州市教育局</a>
                </li>
                <li>
                    <a href="http://ga.binzhou.gov.cn/">滨州市公安局</a>
                </li>
                <li>
                    <a href="http://mz.binzhou.gov.cn/">滨州市民政局</a>
                </li>
                <li>
                    <a href="http://sf.binzhou.gov.cn/">滨州市司法局</a>
                </li>
                <li>
                    <a href="http://cz.binzhou.gov.cn/">滨州市财政局</a>
                </li>
                <li>
                    <a href="http://tj.binzhou.gov.cn/">滨州市统计局</a>
                </li>
            </ul>
            <br>
            <ul>
    
                <li>
                    <a href="http://www.bincheng.gov.cn/">滨城区人民政府</a>
                </li>
                <li>
                    <a href="http://www.zhanhua.gov.cn/">沾化区人民政府</a>
                </li>
                <li>
                    <a href="http://www.huimin.gov.cn/">惠民县人民政府</a>
                </li>
                <li>
                    <a href="http://www.yangxin.gov.cn/">阳信县人民政府</a>
                </li>
                <li>
                    <a href="http://www.wudi.gov.cn/">无棣县人民政府</a>
                </li>
                <li>
                    <a href="http://www.boxing.gov.cn/">博兴县人民政府</a>
                </li>
                <li>
                    <a href="http://www.zouping.gov.cn/">邹平市人民政府</a>
                </li>
            </ul>
    
    
        </div>>
        <!-- 页脚部分 -->
        <div class="footer">
            <p>Copyright © 2020 物联网应用技术二班周春磊作品
                <br>建议使用IE9以上的浏览器
            </p>
        </div>
    
    
    
    
        <!-- 漂浮广告部分 -->
        <!-- 漂浮广告部分 -->
        <!-- 漂浮广告部分 -->
    
        <div class="ad" id="gg1">
            <a href="javascript:;"><img class="ad-img" src="images/ad.png" border="0" title="大美滨州欢迎你" alt="大美滨州欢迎你"></a>
        </div>
        <script type="text/javascript">
            var ad1 = new AdMove("gg1");
            ad1.Run();
        </script>
    </body>
    
    
    </html>
    

    css部分

                /* 全局修改 */
                
                body {
              /*  推荐的渐变色*/
                    /* background: linear-gradient(0deg, #eebd89, #d13abd); */
                    /* background: linear-gradient(0deg, #eae5c9, #6cc6cb); */
                   background: linear-gradient(0deg, #ccfbff, #ead6ee);
                   
    /*background:url(https://csdnimg.cn/release/phoenix/template/themes_skin/skin-whitemove/images/bg.gif) ;*/
    
                    background-size: cover;
                    background-position: auto auto;
                }
                /* 选中的 */
                
                .xz {
                    background-color: rgb(83, 82, 82);
                    color: red;
                }
                
                .xz a {
                    color: red;
                }
                
                li {
                    background-color: rgb(196, 192, 192);
                }
                /* 版心大小1300px */
                
                .w {
                    margin: 0 auto;
                    width: 1300px;
                }
                /* 顶部图片的区域 */
                /* 顶部图片的区域 */
                /* 顶部图片的区域 */
                /* 顶部图片的区域 */
                /* 顶部图片的区域 */
                /* 顶部图片的区域 */
                
                @keyframes qh {
                    /*---每图片切换有两个阶段:位移切换和静置。中间的效果可以任意定制----*/
                    0%,
                    20% {
                        margin-left: 0px;
                    }
                    25%,
                    40% {
                        margin-left: -1200px;
                    }
                    45%,
                    60% {
                        margin-left: -2400px;
                    }
                    65%,
                    80% {
                        margin-left: -3600px;
                    }
                    85%,
                    100% {
                        margin-left: -4800px;
                    }
                }
                
                .box-top {
                    border-radius: 20px;
                    width: 1200px;
                    height: 300px;
                    overflow: hidden;
                }
                
                .box-top .kuai {
                    display: block;
                    background-color: pink;
                    width: 6600px;
                    height: 300px;
                    animation: qh 8s linear infinite;
                }
                
                .box-top li {
                    float: left;
                    width: 1200px;
                    height: 300px;
                }
                
                .box-top img {
                    width: 1200px;
                    height: 100%;
                }
                /* 宣传片部分 */
                
                .xcp {
                    margin-top: 10px;
                    padding-top: 10px;
                    border-radius: 10px;
                    height: 740px;
                    width: 1240px;
                    background-color: white;
                    text-align: center;
                }
                /* 导航栏部分开始了 */
                /* 导航栏部分开始了 */
                /* 导航栏部分开始了 */
                
                .box-nav ul {
                    margin-top: 10px;
                    text-align: center;
                    line-height: 50px;
                    font-size: 20px;
                    color: black;
                    font-weight: 700;
                }
                
                .box-nav ul li {
                    display: inline-block;
                    width: 16%;
                    height: 50px;
                    border-radius: 10px;
                    /* background-color: #7CCD7C; */
                }
                
                .box-nav ul li:hover {
                    background-color: rgb(120, 122, 120);
                }
                /* 主页的主体部分 */
                /* 主页的主体部分 */
                /* 主页的主体部分 */
                /* 主页的主体部分 */
                /* 主页的主体部分 */
                /* 主页的主体部分 */
                
                .box-main {
                    padding-left: 12px;
                    margin-top: 10px;
                    text-align: center;
                }
                
                .box-main-mokuai {
                    float: left;
                    margin: 0 5px 10px 5px;
                    width: 630px;
                    height: 375px;
                    background-color: #fff;
                    border-radius: 20px;
                    color: black;
                    /* overflow: hidden; */
                }
                
                .box-main-mokuai div {
                    float: left;
                }
                
                .box-main-mokuai {
                    padding-top: 20px;
                }
                
                .box-main-mokuai .box-main-mokuai-1 {
                    width: 260px;
                    line-height: 260px;
                }
                
                .box-main-mokuai .box-main-mokuai-1 img {
                    width: 90%;
                    /* 添加动画 */
                    transition: all 0.6s;
                }
                /* 当鼠标经过时放大2倍 */
                
                .box-main-mokuai .box-main-mokuai-1 img:hover {
                    transform: scale(2);
                }
                
                .box-main-mokuai .box-main-mokuai .box-main-mokuai-1-img {
                    height: 80%;
                }
                
                .box-main-mokuai .box-main-mokuai-2 {
                    /* flex布局 */
                    display: flex;
                    /* 设置主轴 */
                    justify-content: center;
                    flex-direction: column;
                    align-items: left;
                    padding-right: 5px;
                    width: 360px;
                    height: 88%;
                    font-size: 15px;
                    text-indent: 2em;
                    text-align: left;
                }
                /* 外链部分 */
                /* 外链部分 */
                /* 外链部分 */
                
                .wl {
                    height: 180px;
                    margin-top: 10px;
                    margin-bottom: 10px;
                    padding-top: 25px;
                    border-radius: 20px;
                    background-color: white;
                    text-align: center;
                    font-weight: 700;
                }
                
                .wl ul li {
                    display: inline;
                    border-radius: 20px;
                    background-color: transparent;
                    font-size: 18px;
                    margin: 0 10px;
                }
                /* 页脚部分 */
                /* 页脚部分 */
                /* 页脚部分 */
                
                .footer {
                    width: 100%;
                    height: 70px;
                    background-color: #A9A9A9;
                    text-align: center;
                }
                
                .footer p {
                    padding-top: 20px;
                }
                /* 漂浮的广告 */
                
                .ad {
                    width: 200px;
                    height: 200px;
                    position: absolute;
                    top: 0;
                    left: 0;
                }
                
                .ad-img {
                    width: 100%;
                    height: 100%;
                    float: right;
                }
    

    js部分

    function addEvent(obj, evtType, func, cap) {
        cap = cap || false;
        if (obj.addEventListener) {
            obj.addEventListener(evtType, func, cap);
            return true;
        } else if (obj.attachEvent) {
            if (cap) {
                obj.setCapture();
                return true;
            } else {
                return obj.attachEvent("on" + evtType, func);
            }
        } else {
            return false;
        }
    }
    
    function getPageScroll() {
        var xScroll, yScroll;
        if (self.pageXOffset) {
            xScroll = self.pageXOffset;
        } else if (document.documentElement && document.documentElement.scrollLeft) {
            xScroll = document.documentElement.scrollLeft;
        } else if (document.body) {
            xScroll = document.body.scrollLeft;
        }
        if (self.pageYOffset) {
            yScroll = self.pageYOffset;
        } else if (document.documentElement && document.documentElement.scrollTop) {
            yScroll = document.documentElement.scrollTop;
        } else if (document.body) {
            yScroll = document.body.scrollTop;
        }
        arrayPageScroll = new Array(xScroll, yScroll);
        return arrayPageScroll;
    }
    
    function GetPageSize() {
        var xScroll, yScroll;
        if (window.innerHeight && window.scrollMaxY) {
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight) {
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else {
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }
        var windowWidth, windowHeight;
        if (self.innerHeight) {
            windowWidth = self.innerWidth;
            windowHeight = self.innerHeight;
        } else if (document.documentElement && document.documentElement.clientHeight) {
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } else if (document.body) {
            windowWidth = document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }
        if (yScroll < windowHeight) {
            pageHeight = windowHeight;
        } else {
            pageHeight = yScroll;
        }
        if (xScroll < windowWidth) {
            pageWidth = windowWidth;
        } else {
            pageWidth = xScroll;
        }
        arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
        return arrayPageSize;
    }
    var AdMoveConfig = new Object();
    AdMoveConfig.IsInitialized = false;
    AdMoveConfig.ScrollX = 0;
    AdMoveConfig.ScrollY = 0;
    AdMoveConfig.MoveWidth = 0;
    AdMoveConfig.MoveHeight = 0;
    AdMoveConfig.Resize = function() {
        var winsize = GetPageSize();
        AdMoveConfig.MoveWidth = winsize[2];
        AdMoveConfig.MoveHeight = winsize[3];
        AdMoveConfig.Scroll();
    }
    AdMoveConfig.Scroll = function() {
        var winscroll = getPageScroll();
        AdMoveConfig.ScrollX = winscroll[0];
        AdMoveConfig.ScrollY = winscroll[1];
    }
    addEvent(window, "resize", AdMoveConfig.Resize);
    addEvent(window, "scroll", AdMoveConfig.Scroll);
    
    function AdMove(id) {
        if (!AdMoveConfig.IsInitialized) {
            AdMoveConfig.Resize();
            AdMoveConfig.IsInitialized = true;
        }
        var obj = document.getElementById(id);
        obj.style.position = "absolute";
        var W = AdMoveConfig.MoveWidth - obj.offsetWidth;
        var H = AdMoveConfig.MoveHeight - obj.offsetHeight;
        var x = W * Math.random(),
            y = H * Math.random();
        var rad = (Math.random() + 1) * Math.PI / 6;
        var kx = Math.sin(rad),
            ky = Math.cos(rad);
        var dirx = (Math.random() < 0.5 ? 1 : -1),
            diry = (Math.random() < 0.5 ? 1 : -1);
        var step = 1;
        var interval;
        this.SetLocation = function(vx, vy) {
            x = vx;
            y = vy;
        }
        this.SetDirection = function(vx, vy) {
            dirx = vx;
            diry = vy;
        }
        obj.CustomMethod = function() {
            obj.style.left = (x + AdMoveConfig.ScrollX) + "px";
            obj.style.top = (y + AdMoveConfig.ScrollY) + "px";
            rad = (Math.random() + 1) * Math.PI / 6;
            W = AdMoveConfig.MoveWidth - obj.offsetWidth;
            H = AdMoveConfig.MoveHeight - obj.offsetHeight;
            x = x + step * kx * dirx;
            if (x < 0) {
                dirx = 1;
                x = 0;
                kx = Math.sin(rad);
                ky = Math.cos(rad);
            }
            if (x > W) {
                dirx = -1;
                x = W;
                kx = Math.sin(rad);
                ky = Math.cos(rad);
            }
            y = y + step * ky * diry;
            if (y < 0) {
                diry = 1;
                y = 0;
                kx = Math.sin(rad);
                ky = Math.cos(rad);
            }
            if (y > H) {
                diry = -1;
                y = H;
                kx = Math.sin(rad);
                ky = Math.cos(rad);
            }
        }
        this.Run = function() {
            var delay = 10;
            interval = setInterval(obj.CustomMethod, delay);
            obj.οnmοuseοver = function() {
                clearInterval(interval);
            }
            obj.οnmοuseοut = function() {
                interval = setInterval(obj.CustomMethod, delay);
            }
        }
    }
    

    转载请说明出处

    展开全文
  • 毕业生就业信息管理系统的设计与实现(毕业设计 完整)毕业生就业信息管理系统的设计与实现(毕业设计 完整)
  • Zigbee无线传感器网络设计与实现

    千次下载 热门讨论 2014-02-27 19:31:26
    ZigBee无线传感器网络设计与实现(非常不错的一本书),我自己刚看完,觉得很不错。分享给大家
  • 实验1 基于MFC的多媒体播放器的设计与实现 word文档下载 一、实验目的: 利用MFC在VC++或其它语言环境下设计一个多媒体播放器,进一步熟悉掌握多媒体编程的基本技术方法。 二、实验要求: 1、制作一个如下图的...

    实验1  基于MFC的多媒体播放器的设计与实现

    • 实验目的:

    利用MFC在VC++或其它语言环境下设计一个多媒体播放器,进一步熟悉与掌握多媒体编程的基本技术与方法。

    • 实验要求:

    1、制作一个多媒体播放器界面,并尽量实现全部或绝大部分功能。

    2、用.mp3、.avi等格式文件进行播放测试,并获取播放效果图。

    3、完成ABOUTBOX的版权信息

    4、完成并测试程序后将源程序文件夹压缩后上传网络课堂,请确保程序的正确性与可执行性,老师通过执行你的程序从而给你计算本次实验成绩。

    5、认真完成实验报告,必须包括实验目的,实验工具、设计框图、实验步骤、所完成的主要设计内容与方法、实验分析与总结等内容。
    实验指导与基本步骤:

    使用VC++6.0的AppWizard、ClassWizard和其中的各种控件可以方便地建立各种应用程序。但是想要实现更高级更复杂的功能,就要借助丰富的ActiveX控件资源。本实验计划使用VC++6.0自带的一个ActiveX控件——ActiveMovieControl Object,来设计多媒体播放器。此多媒体具有一般的播放功能,能播放:*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有Repeat功能。

    1、注册控件:在windows“运行”里写入:regsvr32 msdxm.ocx 单击确定。

    2、打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名VedioPlayer,然后建立基于对话框的应用程序。最后删除“确定”按钮,保留“取消”按钮。

    3、打开Resource View,选择其中的对话框,打开其中的主对话框,去掉对话框上的“确定”按钮,保留“取消”,将Caption改为“退出”。然后再在上面加上几个按钮,ID和Caption分别为

    IDC_OPEN,打开;

    IDC_PLAY,播放;

    IDC_PAUSE,暂停;

    IDC_STOP,停止;

    IDC_CLOSE,关闭;

    IDC_LOWER,-;

    IDC_UPPER,+;

    IDC_FULLSCREEN,全屏;

    。。。。。。

    4、加入ActiveMovieControl控件。打开Projects->Add to Project->Components and Controls->Registered ActiveX Controls对话框,选择其中的ActiveMovieControl Object, Insert,OK之后,会发现控件面板上多了一项ActiveMovieControl Object,将它选中,直接放在对话框上,并拖成合适大小。

    5、ActiveMovieControl控件设置变量m_ActiveMovie。点中它,按Ctrl+W打开ClassWizard为它添加变量m_ActiveMovie。

    6、为程序添加消息处理函数。打开ClassWizard,为各个按钮加入消息处理函数。在MediaPlayerDlg.cpp文件里为各消息处理函数添加代码,部分代码如下:

    void CVediorDlg::OnClose()

    {

    m_ActiveMovie.CloseWindow();//关闭窗口

    }

    void CVedioPlayerDlg::OnOpen()

    {

    char szFileFilter[]=

    "Mp3 File(*.mp3)|*.mp3|"

    "Wma File(*.wma)|*.wma|"

    "Video File(*.dat)|*.dat|"

    "Wave File(*.wav)|*.wav|"

    "AVI File(*.avi)|*.avi|"

    "Movie File(*.mov)|*.mov|"

    "Media File(*.mmm)|*.mmm|"

    "Mid File(*.mid;*,rmi)|*.mid;*.rmi|"

    "MPEG File(*.mpeg)|*.mpeg|"

    "All File(*.*)|*.*||";//文件类型过滤

    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);

    if(dlg.DoModal()==IDOK){

    CString PathName=dlg.GetPathName();

    PathName.MakeUpper();//这个函数可以将CString字符转化为一个大写的字符串

    m_ActiveMovie.SetFileName(PathName);

    }

    }

    void CVedioPlayerDlg::OnPlay()

    {

    m_ActiveMovie.Run();//播放文件

    SetTimer(0,20,NULL);//设置定时器

    //0:计时器的名称;20:时间间隔,单位是毫秒;NULL:使用OnTimer函数。

    }

    void CVedioPlayerDlg::OnStop()

    {

    m_ActiveMovie.Stop();//停止播放文件

    KillTimer(0);//关掉定时器

    }

    void CVedioPlayerDlg::OnPause()

    {

    m_ActiveMovie.Pause();//暂停播放

    }

    void CVedioPlayerDlg::OnUpper()//增加音量

    {

    long Volume=m_ActiveMovie.GetVolume();

    m_ActiveMovie.Pause();

    m_ActiveMovie.SetVolume(Volume+100);

    m_ActiveMovie.Run();

    }

    void CVedioPlayerDlg::OnLower()//减少音量

    {

    long Volume=m_ActiveMovie.GetVolume();

    m_ActiveMovie.Pause();

    m_ActiveMovie.SetVolume(Volume-100);

    m_ActiveMovie.Run();

    }

    void CVedioPlayerDlg::OnFulscreeen()//全屏播放

    {

    m_ActiveMovie.Pause();

    m_ActiveMovie.SetFullScreenMode(true);

    m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);

    m_ActiveMovie.Run();

    }

    这里需要注意的是,下面的函数OnTimer()需通过ClassWizard(Ctrl+W)来添加,不能直接复制:

     

    void CVedioPlayerDlg::OnTimer(UINT nIDEvent)

    {

    double CurrentPos=m_ActiveMovie.GetCurrentPosition();

    if(CurrentPos==0&&isRepeat)//如果当前是文件的起始位置而且为重复播放状态

    m_ActiveMovie.Run();

    CDialog::OnTimer(nIDEvent);

    }

    7、为使播放器具有重复播放功能,需在头文件VedioPlayerDlg.h 加入控制变量BOOL isRepeat;类型可为Private。

    同时修改OnInitDialog()函数:

    BOOL CMediaPlayerDlg::OnInitDialog()

    {

    CDialog::OnInitDialog();

    isRepeat=FALSE;

    ……

    }

    本文实现的MFC播放器如下图所示

    所有功能均已实现,点击获取代码和文档 

    展开全文
  • GeoBase类的设计与实现_艾孜尔江撰

    万次阅读 2021-06-14 11:13:17
    设计(头文件) #pragma once #include <sstream> #include <fstream> #include <vector> #include "Config.h" #include "CGVertex.h" #include "ModelInfos.h" namespace RenderEngine { std...

    设计(头文件)

    #pragma once
    
    #include <sstream>
    #include <fstream>
    #include <vector>
    #include "Config.h
    展开全文
  • 从初级介绍、设计实现一套高效的跨平台的高效的GUI系统,采用OpenGL ES2.0规范Api进行渲染绘制。 介绍UI系统的消息处理,实现了一套高效,简单的消息处理机制,采用委托代理的模式做消息映射绑定。实现常用控件,...
  • Device类的设计与实现_艾孜尔江撰

    万次阅读 2021-06-14 11:28:40
    设计(头文件) #pragma once #include<vector> #include "Light.h" #include "CGVertex.h" #include "ModelInfos.h" #include "Matrix.h" namespace RenderEngine { /// forward declaration (not ...
  • 该教程是毕业设计作品,主要基完成于ASP.NET三层架构图书借阅管理系统的设计与实现   本套课程为实战过程路线,包含整个系统的分析、设计全过程和配套源码,课程共55个课时,从最初的业务需求入手,一步步将...
  • jQuery技术内幕 深入解析jQuery架构设计与实现原理

    千次下载 热门讨论 2014-11-11 10:45:09
    《jquery技术内幕:深入解析jquery架构设计与实现原理》由阿里巴巴资深前端开发工程师撰写,从源代码角度全面而系统地解读了jquery的17个模块的架构设计理念和内部实现原理,旨在帮助读者参透jquery中的实现技巧和...
  • 用户注册页面的设计与实现

    千次阅读 2020-10-21 18:20:46
    用户注册页面的设计与实现 功能介绍: 1.使用HTML5表单技术实现用户注册页面,要求用户可以输入用户名、密码、真实姓名和电子邮箱等信息进行注册。 2.验证要求:每个输入栏目的文本框均需要显示提示信息。用户在点击...
  • 基于Androidstudio的2048小游戏的设计与实现

    千次阅读 多人点赞 2020-06-26 13:51:29
    基于Androidstudio的2048小游戏的设计与实现 目录 1、 需求分析 1 1.1 背景意义 1 1.1.1 手机应用市场发展现状 1 1.1.2 国内外现状 1 1.1.3 设计此游戏的意义 2 1.2 系统需求分析 2 1.2.1 系统功能需求分析 2 ...
  • Linux内核设计与实现(第三版中文高清带目录).pdf 对内核学习的同学们很有帮助
  • 这是一套完整的计算机毕设,包含有教程、文档、系统,探讨超市管理信息系统的设计与实现,做毕业设计的朋友可以下载参考。
  • 你好我是辰兮,很高兴你能来阅读,本篇文章来和你谈谈家庭财务管理系统的设计与实现。项目基于Springboot开发,利用了Layui的前端框架和Echarts图表。很好的实现了家庭收入和开支的记录,及家庭一段时间内财务的展示...
  • 这是一套完整的计算机专业毕业设计,探讨了学生宿舍管理系统的设计与实现,包含的内容有系统、论文、使用教程,下载后解压即可,有写毕设的朋友可以参考。
  • Linux内核设计的艺术 图解Linux操作系统架构设计与实现原理.pdf
  • Linux内核入门书籍-《Linux内核设计与实现(第三版英文)PDF》,中文版见楼主另一资源。
  • Web APP设计与实现

    万人学习 2015-12-25 10:59:49
    Web App是使用页面技术构建移动应用,它是现在网络普及APP发展的一个重要分支,可以无缝发展到Hybrid APP中。 本课程讲述了学习Web App可以同时得到Native APP,Hybrid APP的UI设计思路、设计规范、APP特性、微信...
  • 日志监控告警系统的设计与实现

    万次阅读 多人点赞 2017-06-13 17:02:23
    日志监控告警系统 基于的日志进行监控,监控需要一定规则,对触发监控规则的日志信息进行告警,告警的方式,是短信和邮件。 log4j---->error,info,debug 应用程序程序的日志 error级别 TimeOutException 角标...
  • 火车售票系统的设计与实现

    千次阅读 热门讨论 2018-01-22 10:02:24
    题目:火车售票系统的设计与实现 任务:通过此系统可以实现售票、退票、车票剩余情况查询等功能。每张车票包含 车次、座位信息。 要求:在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、座位...
  • 基于FPGA的数字电子钟的设计与实现

    千次阅读 多人点赞 2020-06-12 19:10:06
    基于FPGA的数字电子钟的设计与实现 这是我自己做的,希望能帮到需要的同学。 系统顶层模块设计 (1) 系统功能要求 能实现秒、分钟、小时的计数,计数结果清晰稳定的显示在6位的七段数码管上。 扩展功能:手动校时...
  • #内存泄露# #leaktracer# leaktracer设计与实现
  • 四旋翼无人机的设计与实现讲解

    千次阅读 多人点赞 2018-04-19 10:30:50
    四旋翼无人机基于stm32的设计与实现过程。
  • 基于SSM的网上订餐系统的设计与实现(JSP,MySQL)(含录像)(毕业论文7000字,程序代码,MySQL数据库) 本设计的开发是基于B/S结构,采用JSP编程技术及Mysql数据库进行开发。本文首先介绍网站开发环境和运行平台、ASP、HTML...
  • 留言管理系统的设计与实现

    万次阅读 热门讨论 2018-03-24 13:55:58
    通过综合运用JSP、Servlet、JavaBean、JDBC、MySQL和MVC + DAO等技术方法,设计与实现一个留言管理系统,进一步理解和掌握Java Web编程开发的基本技术和方法,熟练使用开发工具。二、课程设计内容设计留言管理...
  • 进程调度的设计与实现中文摘要无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把...
  • CockroachDB设计与实现-刘奇

    千次阅读 2015-05-19 13:11:53
    CockroachDB设计与实现-刘奇 关于存储引擎,重用已有的成果,不是整个系统的重点。rocksdb已经足够快了。设计上考虑支持多种存储引擎。关于hlc.hybird logic clicks 保持logic clock 特点的同时,逼近真实时间...
  • ARM Cortex-M3系统设计与实现

    千次阅读 2019-03-01 14:11:53
    ARM Cortex-M3系统设计与实现——STM32基础篇 目录 0. 嵌入式入门学习路线 1. STM32 MCU简介 1.1 stm32 mcu结构 1.2 STM32 MCU存储器映像 1.3 STM32 MCU系统时钟树 1.4 Cortex-M3简介 2. 通用并行GPIO...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,607,034
精华内容 1,442,813
关键字:

设计与实现