五、JavaScript开发实例

一、使用JS定时弹出广告

需求分析:
在浏览网站的时候,通常会5秒左右在顶部显示一个广告。过了5秒钟将这个广告隐藏。在网站的首页上显示这个广告。

技术分析:
【JS的定时操作】
  setInterval();
  setTimeout();
  clearInterval();
  clearTimeout();
【CSS控制显示和隐藏的属性】
  display:
    block :显示的
    none :隐藏的

步骤分析:
步骤一:确定事件:onload.
步骤二:在函数中设置定时的操作.5秒显示这个div.
步骤三:清除原来的定时,重新设置一个定时操作.5秒以后隐藏掉.
步骤四:设置5秒后隐藏的定时,可以清除.

代码实现:

        <script>
            var time;
            function init(){
                // 设置定时操作:
                time = setInterval("showAd()",5000);
            }
            
            function showAd(){
                // 获得div元素
                var divAd = document.getElementById("divAd");
                divAd.style.display = "block";
                // 清除之前的定时操作:
                clearInterval(time);
                // 重新设置一个定时:5秒钟隐藏:
                time = setInterval("hideAd()",5000);
            }
            
            function hideAd(){
                // 获得div元素
                var divAd = document.getElementById("divAd");
                divAd.style.display="none";
                clearInterval(time);
            }
        </script>

二、使用JS控制表格的隔行换色

需求:
在网站的后台的表格页面中让表格显示出隔行换色的效果。
技术分析:
【使用JS控制表格】

var tab1 = Document.getElementById(“tab1”);
var rows = tab1.rows.length;
for(){
    if(i % 2 == 0){

}
}

步骤分析:
步骤一:确定事件:onload事件
步骤二:获得表格元素
步骤三:获得表格的所有行的长度
步骤四:遍历表格的所有行
步骤五:使用下标对2取余
步骤六:设置奇数行和偶数行的颜色。

代码实现:

<script>
            window.onload = function(){
                // 获得表格元素:
                var tab1 = document.getElementById("tab1");
                // 获得表格的所有的行数:
                var len = tab1.rows.length;
                // 遍历所有的长度
                for(var i=0;i<len;i++){
                    // 判断是奇数行还是偶数行:
                    if(i % 2 == 0){
                        tab1.rows[i].style.backgroundColor = "#33FF22";
                    }else{
                        tab1.rows[i].style.backgroundColor = "#883311";
                    }
                }
            }
        </script>

三、使用JS控制复选框的全选和全不选的效果

需求的分析:
在后台管理页面中,往往会有批量删除数据的效果,就需要有复选框全选和全部选的效果。


全选全不选效果.png

步骤分析:
步骤一:确定事件:单击事件
步骤二:获得下面的所有的复选框
步骤三:如果上面的复选框被选中,将下面的所有的复选框选中状态变为checked=true.
步骤四:如果上面的复选框没被选中,将下面的所有的复选框选中状态变为checked=false.

代码实现:

function selectAll(){
                // alert("aaa");
                // 获得上面的复选框:
                var sAll = document.getElementById("selectAll");
                
                if(sAll.checked == true){
                    // 上面的复选框被选中
                    // 将下面的所有的复选框都被选中。
                    var selectOnes = document.getElementsByName("selectOne");
                    // 遍历数组中的每个元素,让每个元素都被选中:
                    for(var i = 0;i<selectOnes.length;i++){
                        selectOnes[i].checked = true;
                    }
                }else{
                    // 上面的复选框不选中
                    // 将下面的所有的复选框都被不选中。
                    var selectOnes = document.getElementsByName("selectOne");
                    // 遍历数组中的每个元素,让每个元素都被不选中:
                    for(var i = 0;i<selectOnes.length;i++){
                        selectOnes[i].checked = false;
                    }
                }
            }

四、控制二级联动

需求:
在注册页面上有一个下拉列表,下拉列表显示省份信息,有另一个下列列表.选择某个省份,将这个省份下的城市列出.
步骤分析:
步骤一:确定事件:onchange.
步骤二:获得改变的省份值 .
步骤三:比较省份的值 与 数组中定义的值是否相等,如果相等获得这个省份对应的所有的市的数组.
步骤四:创建option元素,将数组中的值添加到option元素中。
步骤五:将option添加到第二个下拉列表中.
代码实现:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
            function addEl(){
                // 创建元素:
                var liEl = document.createElement("li");// <li></li>
                // 创建文本节点:
                var textEl = document.createTextNode("广州");// 广州
                // 将文本放入到li元素:
                liEl.appendChild(textEl);// <li>广州</li>
                // 获得ul元素:
                var ulEl = document.getElementById("ul1");
                // 将li放入到ul
                ulEl.appendChild(liEl);
            }
        </script>
    </head>
    <body>
        <ul id="ul1">
            <li>北京</li>
            <li>上海</li>
            <li>深圳</li>
        </ul>
        
        <input type="button" value="点击" onclick="addEl()"/>
    <script>
            // 定义二维数组:
            var cities = new Array(4);
            cities[0] = new Array("长春市","吉林市","松原市","延边市");
            cities[1] = new Array("济南市","青岛市","烟台市","潍坊市","淄博市");
            cities[2] = new Array("石家庄市","唐山市","邯郸市","廊坊市");
            cities[3] = new Array("南京市","苏州市","扬州市","无锡市");
            
            function selectCity(val){
                // alert(val);
                var citySel = document.getElementById("city");
                // 清除原有的option:
                citySel.options.length = 0;
                
                // 遍历数组:
                for(var i=0;i<cities.length;i++){
                    if(val == i){
                        // 遍历数组:
                        for(var j = 0 ;j<cities[i].length;j++){
                            // alert(cities[i][j]);
                            // 创建option元素:
                            var opEl = document.createElement("option");
                            // 创建文本元素:
                            var textNo = document.createTextNode(cities[i][j]);
                            // 将文本添加到option中.
                            opEl.appendChild(textNo);
                            // 将option添加到第二个下拉列表中
                            citySel.appendChild(opEl);
                        }
                    }
                }
            }
</script>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容