12.1作业

来源:互联网 发布:淘宝促销免费模板 编辑:程序博客网 时间:2024/06/07 00:55

todolist

(1)html部分

<!DOCTYPE html><html>    <head>        <meta charset="utf-8" />        <title>我的TODO</title>        <link rel="stylesheet" href="css/normalize.css" />        <link rel="stylesheet" href="css/base.css" />        <link rel="stylesheet" href="css/jquery.datetimepicker.min.css" />        <link rel="stylesheet" href="css/other_function.css" />        <link rel="stylesheet" href="css/home_page.css" />    </head>    <body>        <div class="page-wrap">            <div class="column-menu-task">                <div class="loge-wrap">                    <img class="icon-user" src="http://s.gxtodo.com/avatar/0.jpg" />                    <div class="user-name">我的私事</div>                </div>                <hr>                <div class="main-menu">                    <a class="main-menu-home-page" href="#">首页</a>                    <a class="main-menu-home-task" href="#">任务                        <div class="remind-task-num"></div>                    </a>                    <a class="main-menu-home-sticker" href="#">便签</a>                    <a class="main-menu-home-project" href="#">项目</a>                    <a class="main-menu-home-place" href="#">地点</a>                    <a class="main-menu-home-label" href="#">标签</a>                </div>                <hr>                <div class="bottom-menu">                    <a class="main-menu-home-enjoy" href="#">我的关心</a>                    <a class="main-menu-home-search" href="#">搜索</a>                    <a class="main-menu-home-other" href="#">. . .</a>                </div>                <div class="hide-bottom-menu"></div>                <div class="clear"></div>            </div>            <div class="main-task-area">                <div class="main-theme">                    <h1>高效Todo的特点</h1>                    <span>                        高效Todo基于管理学大师史蒂夫.柯维和余世维所倡导的第四代时间管理理论设计。                        把事情按重要和紧急程度进行分类,通过这种简单而有效的方式,高效Todo可以帮助                        用户快速高效的规划未来的工作,并提示用户把精力放在重要的事情上。                        高效Todo可以把用户从纷繁复杂的事务中解放出来,高效Todo与其他日程管理应用                        不同之处在于,高效Todo颠覆了陈旧的时间管理理念,高效Todo主张高效工作的关                        键不在时间管理,而是注重如何在有限的时间内产生最大的效益。                    </span>                </div>                <div class="m-home-page">                    <div class="m-home-head">                        <h1>TODO在线</h1>                    </div>                    <div class="m-home-main-area">                        <div class="m-top-area">                            <div class="m-hot-news">                                <h2>热点新闻</h2>                                <ul>                                    <li>                                        <a href="">习近平履职“满月”观察:落子开局新时代</a>                                    </li>                                    <li>                                        <a href="">玉麦一家人:守护国土 永作扎根边陲的格桑花</a>                                    </li>                                    <li>                                        <a href="">领航新征程 看,设计这样介入精准扶贫</a>                                    </li>                                    <li>                                        <a href="">一张“招商局”旧船票开启新征途 彰显时代篇章</a>                                    </li>                                    <li>                                        <a href="">又一个国家级新区崛起 会怎样改变中国经济版图</a>                                    </li>                                    <li>                                        <a href="">北京北四村的房客们:拆迁后 下一个住所是哪里?</a>                                    </li>                                    <li>                                        <a href="">津巴布韦新总统:总统选举如期举行 吁重审对津制裁</a>                                    </li>                                    <li>                                        <a href="">津巴布韦新总统:总统选举如期举行 吁重审对津制裁</a>                                    </li>                                </ul>                            </div>                            <div class="m-weather">                                <h2 class="weather-title">天气动态</h2>                                <div class="time-weather">                                    <div class="current-address">                                        <img src="img/location.svg" alt="" />                                        <span class="current-location"></span>                                    </div>                                    <div id="current-temperate"></div>                                    <div class="other-data">                                        <div class="wind-speed">                                            <img  src="img/wind.svg" alt="" />                                            <span class="current-speed"></span>                                        </div>                                        <div class="weather-currweather">                                            <img src="img/weather.svg" alt="" />                                            <span class="desc"></span>                                        </div>                                        <div id="humidity">                                            <img src="img/humidity_small.svg" alt="" />                                            <span class="humidity"></span>                                        </div>                                    </div>                                    <div class="weather-footer">                                        <div class="weather-footer-info">                                            <p>风速</p>                                            <img src="img/wind2.svg" />                                            <p class="current-speed"></p>                                        </div>                                        <div class="weather-footer-info">                                            <p>最高温度</p>                                            <img src="img/temp.svg" alt="" />                                            <p class="max-temperate"></p>                                        </div>                                        <div class="weather-footer-info">                                            <p>最低温度</p>                                            <img src="img/temp_low.svg" />                                            <p class="min-temperate"></p>                                        </div>                                        <div class="weather-footer-info">                                            <p>湿度</p>                                            <img src="img/humidity_small.svg" alt="" />                                            <p class="humidity"></p>                                        </div>                                    </div>                                </div>                            </div>                            <div class="clear"></div>                        </div>                        <div class="m-bottom-area">                            <div class="m-person-habit">                                <h2>个性推荐</h2>                            </div>                            <div class="m-person-trace">                                <h2>出行规划</h2>                            </div>                            <div class="clear"></div>                        </div>                    </div>                    <div class="footer">                        <div class="img-icon">                        </div>                        <div class="action-button">                            <a href="#">关于TODO</a> |                            <a href="#">联系我们</a> |                            <a href="#">服务条款</a> |                            <a href="#">隐私协议</a> |                            <a href="#">TODO会员包月协议</a> |                            <a href="#">帮助</a> |                            <a href="#">更新日志</a> |                            <a href="#">企业易信</a> |                            <a href="#">TODO网站相关资质证明</a>                        </div>                        <div class="other-information">                            <span>©2017 南通TODO计算机系统有限公司 通ICP证080268号</span>                            <span>违法和不良信息举报电话:010-82558163</span>                        </div>                    </div>                </div>                <div class="m-task-add">                    <div class="container">                        <div class="">                        </div>                        <div class="title">                            <h1>我的TODO</h1>                        </div>                        <form class="add-item">                            <input name="content" id="imformation" type="text" placeholder="e.g.下午记得买菜" />                            <button type="submit">submit</button>                        </form>                        <div class="task-list">                            <!--                                <div class="task-item">                    <div class="left-content">                        <span><input type="checkbox" /></span>                        <span>ORZ</span>                    </div>                      <div class="right-fno">                        <span class="action">删除</span>                        <span style="display: inline-block;width: 5px;"></span>                        <span class="action">详情</span>                    </div>                    <div class="clear"></div>                </div>                -->                        </div>                        <!--详情的div                    <div class="task-detail">                        <div class="content"></div>                        <div>                            <div class="description">                                <textarea name=""></textarea>                            </div>                        </div>                        <div class="remind">                            <p>提醒时间</p>                            <input type="date" name="" id="" value="" />                        </div>                        <input type="button" value="更新" />                    </div>                    -->                    </div>                    <div class="finish-task-item-button">                        <input type="button" value="隐藏已完成的项目" />                    </div>                    <div class="remind-task-item">                        <div class="remind-desc-area">                            <textarea disabled="true" name="remind-desc" rows="6" cols="20"></textarea>                        </div>                        <div class="close-remind-task-button">                            <input class="close-remind-button" type="button" value="我知道了,你退下吧" />                        </div>                        <div class="clear"></div>                    </div>                </div>                <div class="m-sticker-area">                    <div class="m-sticker-title">便签</div>                    <hr>                    <div class="m-sticker">                        <div class="m-sticker-input">                            <div class="input-sticker-area">                                <div class="aaa">                                    <textarea name="sticker" rows="5" cols="25" placeholder="请输入便签内容!"></textarea><br />                                    <input type="button" value="保存" />                                </div>                            </div>                            <div class="leave-line"></div>                            <div class="clear"></div>                        </div>                        <div class="stickers-area">                        </div>                        <div class="clear"></div>                    </div>                </div>            </div>        </div>        <div class="clear"></div>        <div class="ask-delete-mask"></div>        <div class="task-detail-mask"></div>        <div class="sticker-mask"></div>        <div class="currency-edit-mask"></div>        <video class="remind-quarter-bell" loop="loop"></video>        <div class="move-news"></div>        <script src="js/jquery.js"></script>        <script src="js/store.legacy.min.js"></script>        <script src="js/base.js"></script>        <script src="js/toggle.js"></script>        <script src="js/jquery.datetimepicker.full.js"></script>        <script src="js/sticker_project.js"></script>        <script src="js/current_address_weather.js"></script>        <script src="http://api.map.baidu.com/api?v=2.0&ak= bkXbNRt3sSPtWPkKOkVXGWHs0PTqCsWD" type="text/javascript"></script>    </body></html>

(2)css部分

base.css

* {    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;}.clear {    clear: both;}body {    background-color: #0a314c;}hr {    background-color: #333;}.loge-wrap {    cursor: pointer;}.column-menu-task {    float: left;    position: fixed;    left: 0;    bottom: 0;    top: 0;    width: 135px;    background: #353d40;    color: #ccc;    text-align: center;}.column-menu-task .icon-user {    width: 60px;    height: 60px;    margin-top: 10px;    border-radius: 60px;}.column-menu-task .bottom-menu {    margin-top: 80px;}.column-menu-task a {    display: block;    text-decoration: none;    width: 100%;    color: #ccc;    padding: 14px 0;    text-align: center;    height: 48px;    position: relative;}.column-menu-task a:hover {    font-size: 20px;    color: #fff;}.main-task-area {    float: right;    position: absolute;    top: 0;    bottom: 0;    right: 0;    left: 10%;}.container {    max-width: 700px;    min-height: 450px;    margin: 0 auto;    position: relative;}.title {    color: #fff;    text-align: center;}input,button,.task-detail,.task-item,.task-item-finish,.description>textarea {    border: none;    border-radius: 3px;    padding: 10px;}.add-item {    margin-bottom: 10px;}input[type=text],input[type=date] {    width: 100%;    display: block;    background: #ccc;}button {    border: none;    display: inline-block;    cursor: pointer;}input[type=text]:hover,input[type=text]:focus,input[type=date] :hover,input[type=date] :focus {    background: #fff;    transition: background-color 0.5s;}.add-item>input[type=text] {    float: left;    width: 84%;    margin-right: 1%;}.add-item>button[type=submit] {    width: 15%;    background-color: #388fb9;}.add-item>button[type=submit]:hover {    color: #ccc;}.task-list,.finish-task-list {    margin: 10px 0;}.task-item {    width: 100%;    position: relative;    background-color: #fff;    margin-bottom: 3px;    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.4);    cursor: pointer;}.task-item:hover {    background: #ccc;    transition: background-color 0.5s;}.task-item>.left-content {    float: left;}.task-item>.right-fno {    float: right;}.task-item>.right-fno .action:hover {    color: #333;}.task-item-finish {    width: 100%;    position: relative;    background-color: pink;    margin-bottom: 3px;    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.4);    cursor: pointer;}.task-item-finish :after {    content: '';    height: 2px;    background: #aaa;    position: absolute;    top: 20px;    right: 0;    display: block;    width: 96%;    float: right;}.task-item-finish:hover {    background: #fff;    transition: background-color 0.5s;}.task-item-finish>.left-content {    float: left;}.task-item-finish>.right-fno {    float: right;}.task-item-finish>.right-fno .action:hover {    color: #333;}.task-detail,.task-detail-mask,.ask-delete-mask {    position: absolute;}.task-detail {    top: 0;    right: 0;    width: 50%;    background: #ffffff;    color: #333;    padding: 10px;    z-index: 1;    display: none;}.description>textarea {    border: 0;    width: 100%;    min-height: 100px;    display: block;    box-shadow: inset 1px 1px rgba(0, 0, 0, 0.4);    margin-top: 10px;    margin-bottom: 5px;    background: #ddd;}.task-detail input[type=date] {    padding: 5px 10px;    cursor: pointer;}.task-detail input[type=button] {    margin-top: 10px;    background: #388fb9;    cursor: pointer;}.task-detail input[type=button] :hover {    color: #ccc;}.description>textarea:hover,.description>textarea:focus {    background: #fff;    transition: background-color 0.5s;}.task-detail-mask,.ask-delete-mask {    display: none;    top: 0;    bottom: 0;    left: 0;    right: 0;    background: rgba(0, 0, 0, 0.3);}.finish-task-item-button {    max-width: 700px;    margin: 0 auto;    margin-top: 10px;    position: relative;}.finish-task-item-button input {    display: block;    margin: 0 auto;    cursor: pointer;    background: #388fb9;    color: #fff;}.finish-task-item-button input:hover {    color: #ccc;}.remind-task-num {    display: none;    width: 30px;    height: 30px;    border-radius: 30px;    background: red;    position: absolute;    right: 0;    top: 10px;    right: 15px;}.remind-task-item {    display: none;    position: fixed;    right: 30px;    top: 30px;    width: 200px;    height: 200px;    background: #7d7dff;    border-radius: 5px;}.remind-desc-area {    position: relative;    top: 10px;    left: 9px;}.remind-desc-area textarea {    box-shadow: inset 1px 1px rgba(0, 0, 0, 0.4);    background: #fff;    cursor: pointer;}.close-remind-button {    position: absolute;    bottom: 10px;    right: 20px;    cursor: pointer;}.remind-quarter-bell {    width: 0;    height: 0;}.m-home-page {    position: relative;    width: 95%;    margin: 0 auto;}.m-home-head h1 {    text-align: center;    color: #fff;}.m-top-area,.m-bottom-area {    width: 90%;    height: 450px;    margin: 0 auto;}.m-hot-news,.m-person-habit {    width: 50%;    height: 100%;    float: left;}.m-hot-news h2,.m-weather h2,.m-person-habit h2,.m-person-trace h2 {    text-align: center;}.m-hot-news ul {    margin-left: 30px;}.m-hot-news ul li {    padding-top: 2px;    padding-bottom: 2px;}.m-hot-news,.m-person-trace {    background: #cff;}.m-person-habit,.m-weather {    background: #ccc;}.m-weather,.m-person-trace {    width: 50%;    height: 100%;    float: right;}.footer .action-button {    color: #cccc;    margin: 0 auto;    text-align: center;}.footer .action-button a {    display: inline-block;    margin: 15px 6px;    font-size: 14px;    color: #cccc;    text-decoration: none;}.footer .other-information {    text-align: center;}.footer .other-information span {    color: #cccc;    font-size: 13px;    margin: 10px 15px;}.main-theme {    width: 90%;    margin: 0 auto;}.m-sticker-area {    display: none;}.m-task-add {    display: none;}.m-home-page {    display: none;}

home_page.css

.weather-title {    cursor: pointer;}.time-weather {    width: 100%;}.current-address {    text-align: center;}.current-address span {    font-size: 30px;    color: #333;}#current-temperate {    text-align: center;    font-size: 45px;    padding: 30px 0;    color: #333;}.other-data {    margin: 10px auto;    width: 80%;    padding: 0;    color: #333;}.other-data>div {    display: inline-block;    width: 30%;    text-align: center;}.other-data img {    width: 30px;    height: 30px;}.other-data span {    line-height: 30px;}.weather-footer {    margin: 10px auto;    color: #333;    width: 90%;}.weather-footer-info {    margin-top: 30px;    display: inline-block;    width: 23%;    text-align: center;}.weather-footer-info img {    width: 20px;    height: 20px;}.weather-footer-info p {    margin: 10px;}

other-function.css

* {    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;}.m-sticker-area {    width: 96%;    margin: 20px auto;}.m-sticker-area hr {    background: #ccc;}.m-sticker-title {    padding: 15px;    background: #ffffff;    border-radius: 5px;    font-size: 20px;}.m-sticker-input {    width: 22%;    float: left;    position: relative;}.input-sticker-area {    float: left;    background: #fff;    width: 245px;    height: 150px;    padding: 5px 11px;    border-radius: 5px;}.leave-line{    /*position: absolute;    right: -10px;*/    float: right;    width: 2px;    background: #fff;    min-height: 600px;}.input-sticker-area textarea[name=sticker] {    border: none;    border-radius: 3px;    box-shadow: inset 2px 3px rgba(0, 0, 0, 0.4);    background: #eee;    cursor: pointer;    transition: background-color 0.5s;}.input-sticker-area textarea[name=sticker]:hover,.input-sticker-area textarea[name=sticker]:focus {    background: #fff;    transition: background-color 0.5s;}.input-sticker-area input[type=button] {    background: #388fb9;    color: #fff;    cursor: pointer;    margin-top: 3px;}.stickers-area {    width: 77%;    float: right;    min-height: 500px;}.sticker-task-item {    width: 250px;    height: 150px;    display: inline-block;    margin-left: 20px;    margin-bottom: 20px;    background: #fff;    border-radius: 5px;    cursor: pointer;}.sticker-datetime-edit {    color: #353D40;    padding-top: 5px;    padding-left: 15px;    padding-right: 15px;    padding-bottom: 5px;    margin: 0 auto;    position: relative;}.blue-gradient-button {    padding: 5px;}.sticker-time {    float: left;    padding-top: 10px;    margin-bottom: 10px;}.edit-button-area {    float: right;    position: relative;    display: none;}.edit-input-button {    width: 38px;    border-radius: 38px;    cursor: pointer;}.hide-button {    position: absolute;    border-radius: 3px;    left: 188px;    top: 45px;    z-index: 1;    background: #388fb9;    display: none;}.hide-button span {    display: block;    text-align: center;    padding: 6px 10px;    color: #fff;}.edit-button:hover,.delete-button:hover {    background: #ccc;    color: #388fb9;}.hide-button hr {    padding: 0;    margin: 0;    color: #ccc;}.sticker-content textarea[name=sticker-remind-content] {    margin-left: 10px;    border: none;    background: #fff;    cursor: pointer;}.currency-edit-mask {    position: absolute;    display: none;    z-index: 2;    top: 0;    bottom: 0;    left: 0;    right: 0;    background: rgba(0, 0, 0, 0.6);}.sticker-edit-input-page {    border-radius: 5px;    width: 400px;    height: 200px;    background: #ccc;    position: absolute;    box-shadow: 0, 0, 20px, 20px, #333;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    z-index: 3;    display: none;}.ask-delete-alert {    display: none;    background: #fff;    border-radius: 5px;    width: 400px;    height: 200px;    position: fixed;    box-shadow: 0, 0, 20px, rgba(0, 0, 0, 0.5);    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    z-index: 1;}.ask-delete-alert input {    cursor: pointer;    background: #388fb9;    color: #fff;}.ask-delete-alert input:hover {    background: #ccc;    color: #388fb9;}.ask-delete-title{    color: #333;    margin: 10px;}.ask-delete-theme{    margin-top:50px ;    margin-bottom:50px ;    text-align: center;    color: #333;}.ask-delete-button{    float: right;}.ask-delete-yes{    margin-right: 15px;}.ask-delete-no{    margin-left: 15px;    margin-right: 30px;}.edit-title {    padding: 5px;}.no-edit {    float: right;    width: 20px;    height: 20px;    background: #333;    color: #fff;    text-align: center;    border-radius: 20px;    cursor: pointer;}.no-edit:hover {    background: orange;}.edit-page-textarea {    margin: 10px auto;}.edit-page-textarea div {    margin-left: 20px;}.save-edit {    float: right;    margin-right: 18px;}.save-edit input {    cursor: pointer;    background: #388fb9;    color: #fff;}.save-edit input:hover {    background: #fff;    color: #388fb9;}.sticker-mask{    position: absolute;    display: none;    top: 0;    bottom: 0;    left: 0;    right: 0;    background: rgba(0, 0, 0, 0);}

(3)js部分

base.js

$(function() {    //console.log(localStorage);    //localStorage.clear();    var task_list = [];    var $form_add_task = $('.add-item');    var $delete_task_trigger;    var $detail_task_trigger;    var $checkbox_task_trigger;    var $correct_detail_trigger;    var $input_detail_data_content;    var change_color;    var $body=$('body');    var $mask = $('.task-detail-mask');    var $remind_quarter_bell = $('.remind-quarter-bell');    var $ask_delete_mask=$('.ask-delete-mask');    var $ask_delete_yes ;    var $ask_delete_no ;    /*判断task_list有没有存储到localStorag中*/    if(store.get('task_list')) {        task_list = store.get('task_list');    } else {        store.set('task_list', task_list);    }    init();    $form_add_task.on('submit', function(e) {        var new_task = {};        /*阻止表单默认提交行为*/        e.preventDefault();        /*find方法*/        var $input = $(this).find('input[name=content]');        new_task.content = $input.val();        new_task.checkbox_checked = false;        new_task.textarea_content = "";        new_task.input_date_content = "";        new_task.informed = false;        //new_task.content=$('#information');        //console.log(new_task);        if(!new_task.content) {            window.alert('请输入提醒事项!');            return;        }        /*添加事项*/        if(add_task(new_task)) {            /*事项添加成功*/            /*将存储的数据渲染到页面上*/            again_sort();            render_task_list();            $input.val('');        }    });    function listen_task_delete() {        /*删除事项*/        $delete_task_trigger.on('click', function() {            var $this = $(this);            var $item = $this.parent().parent();            /*获取data-index的属性值*/            var index = $item.data('index');            $ask_delete_mask.fadeIn(500);            remind_ask_delete_alert(index);        });    }    function listen_ask_delete_button($ask_delete_alert,index) {        var $ask_delete_alert=$ask_delete_alert;        var index=index;        $ask_delete_yes.on('click', function() {            delete_task(index);            $ask_delete_alert.hide(500);            $ask_delete_alert.remove();            $ask_delete_mask.fadeOut(500);        });        $ask_delete_no.on('click', function() {            $ask_delete_alert.hide(500);            $ask_delete_alert.remove();            $ask_delete_mask.fadeOut(500);        });    }    function remind_ask_delete_alert(index){        var index=index;        var $ask_delete_alert=get_ask_delete_alert();        $ask_delete_alert.appendTo($body);        $ask_delete_alert.show(500);        $ask_delete_yes=$('.ask-delete-yes');        $ask_delete_no=$('.ask-delete-no');        listen_ask_delete_button($ask_delete_alert,index);    }    function get_ask_delete_alert(){        var tpl=            '<div class="ask-delete-alert">'+            '<div class="ask-delete-title"><b>温馨提示:</b></div>'+            '<div class="ask-delete-theme"><b>确定要删除吗?一旦删除将无法恢复!</b></div>'+            '<div class="ask-delete-button-area">'+            '<div class="ask-delete-button">'+            '<input class="ask-delete-yes" type="button" value="确定" />'+            '<input class="ask-delete-no" type="button" value="取消" />'+            '</div>'+            '<div class="clear"></div>'+            '</div>'+            '</div>';        return $(tpl);    }    /*删除函数*/    function delete_task(index) {        /*判断对象数组中是否存在这个索引*/        if(!task_list[index]) {            return;        }        delete task_list[index];        /*更新页面*/        refresh_task_list();    }    /*存入localStorage中,添加事项*/    function add_task(new_task) {        task_list.push(new_task);        store.set('task_list', task_list);        return true;    }    /*初始化函数*/    function init() {        again_sort();        task_list = store.get('task_list');        if(task_list.length) {            /*将数据渲染到页面上*/            render_task_list();        }        listen_remind_task();    }    /*更新页面方法*/    function refresh_task_list() {        //localStorage.clear();        //console.log(localStorage);        delete_null_array();        again_sort();        store.set('task_list', task_list);        render_task_list();    }    /*判断task_list中是否有空对象,有的话删除之*/    function delete_null_array() {        var newArr = [];        for(var i = 0; i < task_list.length; i++) {            if(task_list[i] != null) {                newArr.push(task_list[i]);            }        }        task_list = newArr;    }    /*渲染页面*/    function render_task_list() {        /*依次添加到task-list内*/        var $task_list = $('.task-list');        //console.log($task_list);        $task_list.html('');        for(var i = 0; i < task_list.length; i++) {            /*单个对象的渲染*/            //console.log(task_list[i]);            if(task_list[i]) {                var $task = render_task_item(task_list[i], i);                var uniq = task_list[i].checkbox_checked;                $task[0].childNodes[0].childNodes[0].childNodes[0].checked = uniq;                if(uniq == true) {                    $task.removeClass('task-item');                    $task.addClass('task-item-finish');                }                /*将$task插入到task-list中*/                $task_list.append($task);            }        }        /*给每个task_item添加点击事件*/        $delete_task_trigger = $('.action.delete')        listen_task_delete();        $detail_task_trigger = $('.action.detail');        listen_task_detail();        $checkbox_task_trigger = $('input[type=checkbox]');        listen_task_item_checkbox();    }    /*单个对象渲染方法*/    function render_task_item(data, index) {        //console.log(data.checkbox_checked);        var list_item_tpl =            '<div class="task-item" data-index="' + index + '">' +            '<div class="left-content">' +            '<span><input class="finish-checkbox" type="checkbox" checked="' + data.checkbox_checked + '"/></span>' +            '<span>' + data.content + '</span>' +            '</div>' +            '<div class="right-fno">' +            '<span class="action delete">删除</span>' +            '<span style="display: inline-block;width: 5px;"></span>' +            '<span class="action detail">详情</span>' +            '</div>' +            '<div class="clear"></div>' +            '</div>';        //console.log($(list_item_tpl));        return $(list_item_tpl);    }    /*给详情设置点击事件*/    function listen_task_detail() {        /*给详情按钮设置点击事件*/        $detail_task_trigger.on('click', function() {            var $this = $(this);            var $item = $this.parent().parent();            /*获取data-index的属性值*/            var index = $item.data('index');            /*设置方法让task_detail显现出来*/            show_task_detail($item, index);        });    }    /*task_detail显现方法*/    function show_task_detail($item, index) {        /*判断对象数组中是否存在这个索引*/        if(!task_list[index]) {            return;        }        var $get_task_detail = get_task_detail(task_list[index]);        /*浮现详情页面并且面纱浮起*/        $item.append($get_task_detail);        /*调用时间选择,引入时间选择插件*/        $('.datetime').datetimepicker();        $mask.fadeIn(500);        $get_task_detail.show(500);        $correct_detail_trigger = $get_task_detail;        save_correct_detail($item, index);        click_mask_remove_task_item();    }    /*先获取task_detail*/    function get_task_detail(data) {        var task_detail_tpl =            '<div class="task-detail">' +            '<div class="content">' + data.content + '</div>' +            '<div>' +            '<div class="description">' +            '<textarea name="desc">' + data.textarea_content + '</textarea>' +            '</div>' +            '</div>' +            '<div class="remind">' +            '<p>提醒时间</p>' +            '<input class="datetime" type="text" name="" id="" value="' + data.input_date_content + '" />' +            '</div>' +            '<input class="input-item" type="button" value="更新" />' +            '</div>';        return $(task_detail_tpl);    }    /*当点击更新按钮的时候,面纱消失;详情消失,并保存信息*/    function save_correct_detail($item, index) {        /*输出*/        var $correct_button = $('.input-item');        var aaa = index;        //console.log(aaa);        var $item_detail = $item;        /*获取detail中的content,设置双击事件*/        var $detail_content = $('.content');        /*调用双击事件*/        detail_content_dblClick($detail_content, aaa);        $correct_button.on('click', function() {            /*执行保存详情数据函数*/            var textarea_content = $('textarea[name=desc]').val();            var input_date_content = $('.datetime').val();            task_list[index].textarea_content = textarea_content;            task_list[index].input_date_content = input_date_content;            if($input_detail_data_content != undefined) {                var input_detail_content = $('.reset-content').val();                task_list[index].content = input_detail_content;            }            refresh_task_list();            $correct_detail_trigger.hide(1000);            $mask.fadeOut(500);            hide_task_detail($correct_detail_trigger);        });    }    /*双击事件*/    function detail_content_dblClick($detail_content, index) {        var $detail_content = $detail_content;        var index = index;        $detail_content.on('dblclick', function() {            var $input = $('<input class="reset-content" type="text" value="' + task_list[index].content + '">');            $detail_content.html('');            $detail_content.append($input);            $input_detail_data_content = $detail_content;        });    }    /*更新完成之后删除详情窗口*/    function hide_task_detail($correct_detail_trigger) {        $correct_detail_trigger.remove();    }    /*点击面纱,task-detail消失,面纱消失*/    function click_mask_remove_task_item() {        $mask.on('click', function() {            $mask.fadeOut(500);            $correct_detail_trigger.hide(500);            hide_task_detail($correct_detail_trigger);        });    }    /*点击checkbox,完成task-item,改变颜色并排列到最后*/    function listen_task_item_checkbox() {        $checkbox_task_trigger.on('click', function() {            var $this = $(this);            var $item = $this.parent().parent().parent();            /*获取data-index的属性值*/            var index = $item.data('index');            var checkbox_checked = $(this)[0].checked;            task_list[index].checkbox_checked = checkbox_checked;            if(checkbox_checked) {                update_task(index, {                    informed: true                });            } else {                update_task(index, {                    informed: false                });            }        });    }    /*两个对象的组合*/    function update_task(index, data) {        if(!task_list[index]) return;        task_list[index] = $.extend({}, task_list[index], data);        refresh_task_list();    }    /*将task-list重新组合*/    function again_sort() {        var new_arr_a = [];        var new_arr_b = [];        for(var i = 0; i < task_list.length; i++) {            if(task_list[i].checkbox_checked == true) {                new_arr_a.push(task_list[i]);            } else {                new_arr_b.push(task_list[i]);            }        }        task_list = new_arr_b.concat(new_arr_a);    }    /*隐藏或显示已完成的task-item*/    var $finish_task_list_button = $('.finish-task-item-button input[type=button]');    $finish_task_list_button.toggle(function() {        hide_finishe_task_list();    }, function() {        show_finish_task_list();    });    /*隐藏已完成的项目*/    function hide_finishe_task_list() {        $finish_task_list_button.val('显示已完成的项目');        var $task_list = $('.task-list');        var $task_item = $task_list.children();        var class_name;        for(var i = 0; i < $task_item.length; i++) {            class_name = $task_item[i].classList.value;            if(class_name == "task-item-finish") {                $task_item[i].style.display = "none";            }        }    }    /*显示已完成的项目*/    function show_finish_task_list() {        $finish_task_list_button.val('隐藏已完成的项目');        refresh_task_list();    }    /*设定时间提醒*/    function listen_remind_task() {        var current_timestamp;        var itv = setInterval(function() {            for(var i = 0; i < task_list.length; i++) {                var item = task_list[i];                var set_timestamp;                if(!item || !(item.input_date_content) || item.informed) continue;                current_timestamp = new Date().getTime();                set_timestamp = new Date(item.input_date_content).getTime();                if((current_timestamp - set_timestamp) >= 0) {                    /*提醒*/                    update_task(i, {                        informed: true                    });                    show_msg(item, i);                }            }        }, 300);    }    /*显示提醒窗口*/    function show_msg(item, num) {        var remind_item = item;        var i = num;        $('.remind-desc-area textarea').val(item.content);        $('.remind-task-item').show(500);        $('.remind-task-num').show(500);        play_video();        $remind_quarter_bell[0].play();        listen_close_button(remind_item, i);        listen_change_color();    }    function listen_close_button(item, num) {        var remind_item = item;        var i = num;        $('.close-remind-button').on('click', function() {            update_task(i, {                checkbox_checked: true            });            hide_msg();            stop_video();        });    }    /*隐藏提醒窗口*/    function hide_msg() {        $('.remind-task-item').hide(500);        $('.remind-task-num').hide(500);        stop_mychange_color();    }    /*改变提醒块颜色*/    function listen_change_color() {        var change_num = 1;        change_color = setInterval(function remind_change_color() {            if(change_num % 3 == 1) {                $('.remind-task-num').css('background', 'yellow');                change_num = 2;            } else if(change_num % 3 == 2) {                $('.remind-task-num').css('background', 'blue');                change_num = 3;            } else {                $('.remind-task-num').css('background', 'red');                change_num = 1;            }        }, 1000);    }    function stop_mychange_color() {        clearInterval(change_color);    }    /*关闭音频方法*/    function stop_video() {        $remind_quarter_bell.removeAttr('src');    }    /*开启音频方法*/    function play_video() {        $remind_quarter_bell.attr('src', 'video/remind.mp3');    }});

current-address-weather.js

$(function() {    var city_text;    var $current_location=$('.current-location');    var $current_temperate=$('#current-temperate');    var $current_speed=$('.current-speed');    var $current_speed_footer=$('#current-speed');    var $desc=$('.desc');    var $humidity=$('.humidity')    var $max_temperate=$('.max-temperate');    var $min_temperate=$('.min-temperate');    var $weather_title=$('.weather-title');    unit();    function unit(){        get_current_address();        listen_weather_title();    }    /*通过百度地图浏览器定位当前位置信息*/    function get_current_address() {        var geolocation = new BMap.Geolocation();        geolocation.getCurrentPosition(function(r) {            if(this.getStatus() == BMAP_STATUS_SUCCESS) {                currentLat = r.point.lat;                currentLon = r.point.lng;                current_lon_lat = currentLon + ',' + currentLat;                var pt = new BMap.Point(currentLon, currentLat);                var geoc = new BMap.Geocoder();                geoc.getLocation(pt, function(rs) {                    var addComp = rs.addressComponents;                    //console.log(addComp);                    var city = addComp.city;                    city_text = city.slice(0, -1);                    get_weather_data();                });            }        });    }    /*获取天气数据方法*/    function get_weather_data() {        weatherurl = "https://api.caiyunapp.com/v2/f34sfOwqSqhQ1LS4/" + current_lon_lat + "/forecast.jsonp";        $.ajax({            url: weatherurl,            type: 'GET',            dataType: 'JSONP',            async: false,            success: function(data) {                print_data(data);            }        });    }    function print_data(data){        var current_temperate=data.result.hourly.temperature[0].value+'℃';        var current_speed=data.result.hourly.wind[0].speed+'km/h';        var humidity=data.result.hourly.humidity[0].value;        var max_temperate=data.result.daily.temperature[0].max+'℃';        var min_temperate=data.result.daily.temperature[0].min+'℃';        $current_location.text(city_text);        $current_temperate.html(current_temperate);        $current_speed.text(current_speed);        $humidity.text(humidity);        $max_temperate.text(max_temperate);        $min_temperate.text(min_temperate);    }    function listen_weather_title(){        $weather_title.dblclick(function(){            get_current_address();            window.alert('刷新成功');        });    }});

sticker-project.js

$(function() {    var stickers_item = [];    var $stickers_area = $('.stickers-area');    var $sticker_mask = $('.sticker-mask');    //  var $sticker_edit_input_page=$('.sticker-edit-input-page');    var $currency_edit_mask = $('.currency-edit-mask');    var $edit_area;    var $no_edit;    var $sava_edit;    var $sticker_task_item_area;    var $edit_complete_button;    var $edit_button;    var $delete_button;    var $body = $('body');    var $ask_delete_mask = $('.ask-delete-mask');    //localStorage.clear('stickers_item');    if(store.get('stickers_item')) {        stickers_item = store.get('stickers_item');    } else {        store.set('stickers_item', stickers_item);    }    unit();    /*初始化方法*/    function unit() {        stickers_item = store.get('stickers_item');        delete_null_array();        if(!stickers_item.length) return;        remind_stickers_list();    }    /*点击保存,存储数据方法*/    $('.aaa input[type=button]').on('click', function() {        var sticker_task = {};        var sticker_content = $('.aaa textarea[name=sticker]').val();        if(!sticker_content) {            alert('请输入便签内容!');            return;        }        var current_time = get_current_time();        sticker_task.sticker_content = sticker_content;        sticker_task.current_time = current_time;        sticker_task.uniq = false;        stickers_item.push(sticker_task);        refresh_stickers_list();        $('.aaa textarea[name=sticker]').val('');    });    /*刷新页面方法*/    function refresh_stickers_list() {        delete_null_array();        store.set('stickers_item', stickers_item);        remind_stickers_list();    }    /*判断task_list中是否有空对象,有的话删除之*/    function delete_null_array() {        var newArr = [];        for(var i = 0; i < stickers_item.length; i++) {            if(stickers_item[i] != null) {                newArr.push(stickers_item[i]);            }        }        stickers_item = newArr;    }    /*渲染页面*/    function remind_stickers_list() {        $stickers_area.html('');        for(var i = 0; i < stickers_item.length; i++) {            if(stickers_item[i]) {                remind_sticker_item(stickers_item[i], i);            }        }        $sticker_task_item_area = $('.sticker-task-item');        listen_sticker_hover();        $edit_button = $('.edit-button');        listen_edit_button();        $delete_button = $('.delete-button');        listen_delete_button();    }    /*渲染单个便签*/    function remind_sticker_item(data, index) {        var data = data;        var index = index;        var $sticker_task_item = sticker_task_item(data, index);        $stickers_area.append($sticker_task_item);    }    /*建立便签*/    function sticker_task_item(data, index) {        var tpl =            '<div class="sticker-task-item" data-index="' + index + '">' +            '<div class="sticker-datetime-edit">' +            '<div class="sticker-time">' + data.current_time + '</div>' +            '<div class="edit-button-area">' +            '<input class="edit-input-button" type="button" value="↓" />' +            '</div>' +            '<div class="hide-button">' +            '<span class="edit-button">编辑</span>' +            '<hr>' +            '<span class="delete-button">删除</span>' +            '</div>' +            '<div class="clear"></div>' +            '</div>' +            '<div class="sticker-content">' +            '<textarea name="sticker-remind-content" disabled="true" rows="5" cols="25">' + data.sticker_content + '</textarea>' +            '</div>' +            '</div>';        return $(tpl);    }    /*建立监听函数*/    function listen_sticker_hover() {        $sticker_task_item_area.on({            mouseover: function() {                var $this = $(this);                var $edit_button_area = $this.children().children('.edit-button-area');                var index = $this.data('index');                $edit_button_area.show(500);                $edit_complete_button = $edit_button_area.children('.edit-input-button');                listen_edit_input_button(index);            },            mouseleave: function() {                var $this = $(this);                var $edit_button_area = $this.children().children('.edit-button-area');                var index = $this.data('index');                if(stickers_item[index].uniq) {                    return;                }                $edit_button_area.hide(500);            }        });    }    /*监听点击隐藏按钮方法*/    function listen_sticker_mask($hide_button, $edit_button_area, index) {        var $hide_button = $hide_button;        var $edit_button_area = $edit_button_area;        var index = index;        $sticker_mask.on('click', function() {            stickers_item[index].uniq = false;            $sticker_mask.fadeOut(500);            refresh_stickers_list();        });    }    /*监听edit-input-button点击之后的方法*/    function listen_edit_input_button(index) {        var index = index;        $edit_complete_button.on('click', function() {            var $this = $(this);            var $hide_button = $this.parent().next();            $hide_button.show(500);            $sticker_mask.fadeIn(500);            var $edit_button_area = $this.parent();            stickers_item[index].uniq = true;            store.set('stickers_item', stickers_item);            listen_sticker_mask($hide_button, $edit_button_area, index);        });    }    function listen_delete_button() {        $delete_button.on('click', function() {            var $this = $(this);            var $current_sticker = $this.parent().parent().parent();            var index = $current_sticker.data('index');            $ask_delete_mask.fadeIn(500);            remind_ask_delete_alert(index);        });    }    function remind_ask_delete_alert(index) {        var index = index;        var $ask_delete_alert = get_ask_delete_alert();        $ask_delete_alert.appendTo($body);        $ask_delete_alert.show(500);        $ask_delete_yes = $('.ask-delete-yes');        $ask_delete_no = $('.ask-delete-no');        listen_ask_delete_button($ask_delete_alert, index);    }    function listen_ask_delete_button($ask_delete_alert, index) {        var $ask_delete_alert = $ask_delete_alert;        var index = index;        $ask_delete_yes.on('click', function() {            delete_sticker(index);            $ask_delete_alert.hide(500);            $ask_delete_alert.remove();            $ask_delete_mask.fadeOut(500);        });        $ask_delete_no.on('click', function() {            $ask_delete_alert.remove();            $ask_delete_mask.fadeOut(500);        });    }    function get_ask_delete_alert() {        var tpl =            '<div class="ask-delete-alert">' +            '<div class="ask-delete-title"><b>温馨提示:</b></div>' +            '<div class="ask-delete-theme"><b>确定要删除吗?一旦删除将无法恢复!</b></div>' +            '<div class="ask-delete-button-area">' +            '<div class="ask-delete-button">' +            '<input class="ask-delete-yes" type="button" value="确定" />' +            '<input class="ask-delete-no" type="button" value="取消" />' +            '</div>' +            '<div class="clear"></div>' +            '</div>' +            '</div>';        return $(tpl);    }    function delete_sticker(index) {        if(!stickers_item[index]) return;        delete stickers_item[index];        refresh_stickers_list();        $sticker_mask.fadeOut();    }    /*监听编辑按钮方法*/    function listen_edit_button() {        $edit_button.on('click', function() {            var $this = $(this);            console.log($this);            var $current_sticker = $this.parent().parent().parent();            var $edit_input_text = $this.parent().parent().next().children('textarea[name=sticker-remind-content]');            var input_content = $edit_input_text.text();            remind_sticker_edit_input_page($current_sticker, input_content);        });    }    function remind_sticker_edit_input_page($current_sticker, input_content) {        var $current_sticker = $current_sticker;        var input_content = input_content;        var $sticker_edit_input_page = get_sticker_edit_input_page(input_content);        $sticker_edit_input_page.appendTo($body);        $sticker_edit_input_page.show(500);        $currency_edit_mask.fadeIn(500);        $no_edit = $('.no-edit');        $sava_edit = $('.save-edit');        $edit_area = $('.edit-area');        listen_no_save_edit($current_sticker, $sticker_edit_input_page);    }    function get_sticker_edit_input_page(cont) {        var tpl =            '<div class="sticker-edit-input-page">' +            '<div class="edit-title">' +            '<span>修改备忘</span>' +            '<div class="no-edit">×</div>' +            '<div class="clear"></div>' +            '</div>' +            '<div class="edit-page-textarea">' +            '<div>' +            '<textarea class="edit-area" rows="5" cols="42">' + cont + '</textarea>' +            '</div>' +            '</div>' +            '<div class="save-area">' +            '<div class="save-edit">' +            '<input class="save-edit-area" type="button" value="修改" />' +            '</div>' +            '<div class="clear"></div>' +            '</div>' +            '</div>';        return $(tpl);    }    function listen_no_save_edit($current_sticker, $sticker_edit_input_page) {        var $current_sticker = $current_sticker;        var $sticker_edit_input_page = $sticker_edit_input_page;        $no_edit.on('click', function() {            $currency_edit_mask.fadeOut(500);            $sticker_edit_input_page.remove();        });        $sava_edit.on('click', function() {            var index = $current_sticker.data('index');            var textarea_content = $edit_area.val();            console.log(textarea_content);            stickers_item[index].sticker_content = textarea_content;            stickers_item[index].uniq = false;            $sticker_edit_input_page.remove();            $currency_edit_mask.fadeOut(500);            $sticker_mask.fadeOut();            refresh_stickers_list();        });    }    /*获取当前日期时间*/    function get_current_time() {        var current_time = new Date();        var year = current_time.getFullYear();        var month = current_time.getMonth() + 1;        var day = current_time.getDate();        var hour = current_time.getHours();        var minute = current_time.getMinutes();        var second = current_time.getSeconds();        var new_minute = check_time(minute);        var new_second = check_time(second);        var current_time_stamp = year + '-' + month + '-' + day + ' ' + hour + ':' + new_minute + ':' + new_second;        return current_time_stamp;    }    /*检查分钟秒*/    function check_time(time) {        if(time < 10) {            time = '0' + time;        }        return time;    }});

toggle.js

$(function() {    /*改变main-task-area中子div显示属性*/    function hidden_main_area() {        $('.main-task-area>div').css('display', 'none');    }    function hidden_color() {        $('.column-menu-task a').css('color', '#ccc');        $('.column-menu-task a').css('background', '#353d40');    }    $('.main-menu-home-page').click(function() {        hidden_main_area();        hidden_color();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-home-page').css('display', 'block');    });    $('.main-menu-home-task').click(function() {        hidden_main_area();        hidden_color();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-task-add').css('display', 'block');    });    $('.main-menu-home-sticker').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });    $('.main-menu-home-project').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });    $('.main-menu-home-place').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });    $('.main-menu-home-label').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });    $('.main-menu-home-enjoy').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });    $('.main-menu-home-search').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });    $('.main-menu-home-other').on('click', function() {        hidden_color();        hidden_main_area();        $(this).css('color', '#4a4aff')        $(this).css('background', '#2C3032');        $('.m-sticker-area').css('display', 'block');    });});

效果图

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

原创粉丝点击