单页Html供小孩学习常用汉字

为了检验及帮助小孩学习常用汉字,简单开发本网页应用;

常用汉字是按使用频率排序的,来源于网上;

单页Html 示例效果图:

step1.点击 重置-再学一遍 ,数据进行重置;

(用到window.localStorage,支持html5的浏览器下次再访问时,可以保留上次的进度)

step2.点击下方要学汉字div中的汉字,则标示该汉字已经学习且已经认识,该汉字转入已知汉字;

step3.或者 点击上方已知汉字div中的汉字,则标示该汉字并未学习且并不认识,该汉字转入要学汉字;

相应html源码如下:

<html>
<head>
    <title></title>
    <style>

        #main { height: 85%; }
        #div-yes { height: 40%; border:1px solid green; overflow:scroll;color:#fff; background:black;  }
        #div-no{ height: 40%; border:1px solid green; overflow:scroll; color:#fff; background:black; }
        #header{ padding:10px; font-weight:bold; border:1px solid green; margin:5px 0; text-align:center;}
        #footer{ padding:2px; font-weight:small; border:1px solid green; margin:1px 0; text-align:center;}

        .span-char{    font-size : 20pt;    margin:10px;    cursor:hand; }
        .span_count{font-weight:bold;color:red;}

    </style>
</head>
<body>
    <div id="header">
    常用汉字学习
    <button type="button" id="btn_reset" onclick="btn_reset_onclick();">重置-再学一遍</button></div>
    <div id="main">
        <div>已知汉字:<span class="span_count" id="span_count_yes">0</span></div>
        <div class="item" id="div-yes">
        </div>
        <!--<div style="clear: both;">
        </div>-->
        <div>要学汉字:<span class="span_count" id="span_count_no">0</span></div>
        <div class="item" id="div-no">
        </div>
    </div>
    <div id="footer">

    <p>
    提示:点击文字,标示已学习或要学习;
    </p>
    <a href="http://www.cnblogs.com/freeliver54" target="_blank">edit by freeliver54</a>
    </div>
</body>
</html>
<script type="text/javascript">
/*
if(window.localStorage){
 alert(‘This browser supports localStorage‘);
}else{
 alert(‘This browser does NOT support localStorage‘);
}
*/
var chars_all = "";
var chars_no = "";
var chars_yes = "";

var storage = window.localStorage;

function btn_reset_onclick(){
    chars_all = "的一是了我不人在他有这个上们来到时大地为子中你说生国年着就那和要她出也得里后自以会家可下而过天去能对小多然于心学么之都好看起发当没成只如事把还用第样道想作种开美总从无情己面最女但现前些所同日手又行意动方期它头经长儿回位分爱老因很给名法间斯知世什两次使身者被高已亲其进此话常与活正感见明问力理尔点文几定本公特做外孩相西果走将月十实向声车全信重三机工物气每并别真打太新比才便夫再书部水像眼等体却加电主界门利海受听表德少克代员许稜先口由死安写性马光白或住难望教命花结乐色使用频率排名的汉字更拉东神记处让母父应直字场平报友关放至张认接告入笑内英军候民岁往何度山觉路带万男边风解叫任金快原吃妈变通师立象数四失满战远格士音轻目条呢病始达深完今提求清王化空业思切怎非找片罗钱紶吗语元喜曾离飞科言干流欢约各即指合反题必该论交终林请医晚制球决窢传画保读运及则房早院量苦火布品近坐产答星精视五连司巴奇管类未朋且婚台夜青北队久乎越观落尽形影红爸百令周吧识步希亚术留市半热送兴造谈容极随演收首根讲整式取照办强石古华諣拿计您装似足双妻尼转诉米称丽客南领节衣站黑刻统断福城故历惊脸选包紧争另建维绝树系伤示愿持千史谁准联妇纪基买志静阿诗独复痛消社算算义竟确酒需单治卡幸兰念举仅钟怕共毛句息功官待究跟穿室易游程号居考突皮哪费倒价图具刚脑永歌响商礼细专黄块脚味灵改据般破引食仍存众注笔甚某沉血备习校默务土微娘须试怀料调广蜖苏显赛查密议底列富梦错座参八除跑亮假印设线温虽掉京初养香停际致阳纸李纳验助激够严证帝饭忘趣支春集丈木研班普导顿睡展跳获艺六波察群皇段急庭创区奥器谢弟店否害草排背止组州朝封睛板角况曲馆育忙质河续哥呼若推境遇雨标姐充围案伦护冷警贝著雪索剧啊船险烟依斗值帮汉慢佛肯闻唱沙局伯族低玩资屋击速顾泪洲团圣旁堂兵七露园牛哭旅街劳型烈姑陈莫鱼异抱宝权鲁简态级票怪寻杀律胜份汽右洋范床舞秘午登楼贵吸责例追较职属渐左录丝牙党继托赶章智冲叶胡吉卖坚喝肉遗救修松临藏担戏善卫药悲敢靠伊村戴词森耳差短祖云规窗散迷油旧适乡架恩投弹铁博雷府压超负勒杂醒洗采毫嘴毕九冰既状乱景席珍童顶派素脱农疑练野按犯拍征坏骨余承置臓彩灯巨琴免环姆暗换技翻束增忍餐洛塞缺忆判欧层付阵玛批岛项狗休懂武革良恶恋委拥娜妙探呀营退摇弄桌熟诺宣银势奖宫忽套康供优课鸟喊降夏困刘罪亡鞋健模败伴守挥鲜财孤枪禁恐伙杰迹妹藸遍盖副坦牌江顺秋萨菜划授归浪听凡预奶雄升碃编典袋莱含盛济蒙棋端腿招释介烧误";
    var all_length = chars_all.length;
    var allHtml = "";
    for(var i=0;i<all_length;i++){
        allHtml += ‘<span id="span-no-‘+i+‘" class="span-char" onclick ="span_no_clcik(this);">‘+chars_all.charAt(i)+‘</span>‘;
    }

    document.getElementById("div-no").innerHTML = allHtml;
    chars_no = chars_all;

    document.getElementById("div-yes").innerHTML = "";
    chars_yes = "";

    ref_display_count();
}

//from no to yes
function span_no_clcik(obj){
    document.getElementById("div-no").removeChild(obj);
    chars_no = chars_no.replace(obj.innerText,"");

    var tempHtml = obj.outerHTML.replace("span_no_clcik","span_yes_clcik");

    document.getElementById("div-yes").innerHTML = tempHtml + document.getElementById("div-yes").innerHTML;
    chars_yes = chars_yes + obj.innerText;

    ref_display_count();

    btn_save_onclick();
}

//from yes to no
function span_yes_clcik(obj){
    document.getElementById("div-yes").removeChild(obj);
    chars_yes = chars_yes.replace(obj.innerText,"");

    var tempHtml = obj.outerHTML.replace("span_yes_clcik","span_no_clcik");

    document.getElementById("div-no").innerHTML = tempHtml + document.getElementById("div-no").innerHTML;
    chars_no = chars_no + obj.innerText;

    ref_display_count();

    btn_save_onclick();
}

function btn_save_onclick(){
    //storage.setItem("all",chars_all);
    storage.setItem("yes",chars_yes);
    storage.setItem("no",chars_no);
}

//btn_reset_onclick();

function init_display(){
    chars_no = storage.getItem("no");
    if(chars_no==null){
        chars_no = "";
    }

    chars_yes = storage.getItem("yes");
    if(chars_yes==null){
        chars_yes = "";
    }

    var no_length = chars_no.length;
    var noHtml = "";
    for(var i=0;i<no_length;i++){
        noHtml += ‘<span id="span-no-‘+i+‘" class="span-char" onclick ="span_no_clcik(this,0,1);">‘+chars_no.charAt(i)+‘</span>‘;
    }
    document.getElementById("div-no").innerHTML = noHtml;

    var yes_length = chars_yes.length;
    var yesHtml = "";
    for(var i=0;i<yes_length;i++){
        yesHtml += ‘<span id="span-yes-‘+i+‘" class="span-char" onclick ="span_yes_clcik(this,0,1);">‘+chars_yes.charAt(i)+‘</span>‘;
    }
    document.getElementById("div-yes").innerHTML = yesHtml;

    ref_display_count();

    if(no_length == 0 && yes_length==0){
        btn_reset_onclick();
    }
}

function ref_display_count(){

    document.getElementById("span_count_no").innerHTML = chars_no.length;
    document.getElementById("span_count_yes").innerHTML = chars_yes.length;

    if(chars_no.length == 0){
        alert("Very Good!");
    }
}

init_display();

</script>
时间: 2024-11-03 21:33:45

单页Html供小孩学习常用汉字的相关文章

Singal Page App:使用Knockout和RequireJS创建高度模块化的单页应用引擎

开篇扯淡 距离上一篇文章已经有好几个月,也不是没有时间记录点东西,主要是换了新的工作,在一家外资工作,目前的工作内容大多都是前端开发,新接触的东西因为时间原因,大多还不成体系,所以这么长时间什么都没记录下来,也正是因为新的工作内容,才有了今天这篇文章. 这篇文章是我自己的博客项目的前端重写,因为目前ASP.NET API和单页应用的流行,结合目前工作中用到的东西,我决定把我的博客项目的前端部分整个重写,(以前的就是一坨-) 步入正题 背景知识 RequireJS http://www.requi

随机生成常用汉字

背景知识 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集·基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆:新加坡等地也采用此编码.中国大陆几乎所有的中文系统和国际化的软件都支持 GB 2312. GB2312 标准共收录 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个:同时收录了包括拉丁字母.希腊字母.日文平假名及片假名字母.俄语西里尔字母在内的 682 个字符.GB2312 的出现,基本满足

单页应用SEO浅谈

单页应用SEO浅谈 前言 单页应用(Single Page Application)越来越受web开发者欢迎,单页应用的体验可以模拟原生应用,一次开发,多端兼容.单页应用并不是一个全新发明的技术,而是随着互联网的发展,满足用户体验的一种综合技术. SEO 一直以来,搜索引擎优化(SEO)是开发者容易忽略的部分.SEO是针对搜索(Google.百度.雅虎搜索等)在技术细节上的优化,例如语义.搜索关键词与内容相关性.收录量.搜索排名等.SEO也是同行.市场竞争常用的的营销手段.Google.百度的搜

【单页应用】view与model相关梳理

前情回顾 根据之前的学习,我们形成了一个view与一个messageCenterview这块来说又内建了一套mvc的东西,我们这里来理一下首先View一层由三部分组成:① view② dataAdpter③ viewController view一块两个重要数据是模板以及对应data,一个状态机status这里view只负责根据状态取出对应的模板,而后根据传入的数据返回组装好的html这里一个view多种状态是什么意思呢?比如我有一个组件,但是里面有一圈数据是需要Ajax请求的,所以我的view

[译]用AngularJS构建大型ASP.NET单页应用(二)

原文地址:http://www.codeproject.com/Articles/808213/Developing-a-Large-Scale-Application-with-a-Single 客户管理页面-新增.修改客户 单页应用中的页面与asp.net页面类似,两者都是html页面. 对于asp.net,浏览器加载html.js.数据,然后,浏览器进展示.而单页应用,页面内容通过ng-view 指令被注入到一个div标签中. 页面初始化时,浏览器通常只渲染html代码. 若在单页应用中使

基于Redux架构的单页应用开发总结(二)

写在前面 这次重点介绍基于Redux架构的单页应用代码的组织方式 关于less的组织 作为一个后端出身的前端工程师,写简单的css实在没有那种代码可配置和结构化的快感.所以引入less是个不错的选择,无论是针对代码后期的管理,还是提高代码的复用能力. global.less 这个是全局都可以调用的方法库,我习惯把 项目的配色.各种字号.用于引入混出的方法等写在这里,其他container页面通过@import方式引入它,就可以使用里面的东西.不过定义它时要注意以下两点: 第一,这个less里只能

【读书笔记】WebApi 和 SPA(单页应用)--knockout的使用

Web API从MVC4开始出现,可以服务于Asp.Net下的任何web应用,本文将介绍Web api在单页应用中的使用.什么是单页应用?Single-Page Application最常用的定义:一个最初内容只包含html和JavaScript,后续操作通过Restful风格的web服务传输json数据来响应异步请求的一个web应用.SPA的优势就是少量带宽,平滑体验,劣势就是只用JavaScript这些平滑的操作较难实现,不像MVC应用,我们可以异步form,partview.不用担心,我们

bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

转自:http://www.cnblogs.com/jesse2013/p/a-sample-of-single-page-applicaton.html 也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序一样.特别是在当今的移动时代,单页程序如果放在移动设备上去浏览就能够拥有像native app一样的体验,也许我们web开发者们应该期待这种技术

dedecms首页调用栏目内容和单页内容的方法

常用的需要调到首页来的单页内容,比如企业简介.联系我们等等内容,我们在首页可能都要进行体现.通过常规的方式,包括查阅dede官方论坛资料,都找不到比较合适的答案.今天我们就提供两种方式进行调用. 我们知道,单页内容的模板调用标签是 {dede:field.content/} ,经过试验,在首页使用 {dede:channelartlist } {dede:field.content/} {/dede:channelartlist } 进行调用,即可顺利的调出相关的数据. 但是我们发现,这种调用只