购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.6 综合实例:实现我的开心小农场

通过jQuery可以很方便地对DOM节点进行操作,下面就通过“我的开心小农场”实例,来说明通过jQuery操作DOM节点的具体应用。

本实例的需求主要有以下两点:

(1)在页面中引入农场图片,单击“播种”“生长”“开花”“结果”按钮时,在农场中显示相应效果。

(2)在IE6之前版本的浏览器下,png格式图片有背景,将其处理为透明效果。

运行本实例,将显示如图5.15所示的效果,单击“播种”按钮,将显示如图5.16所示的效果,单击“生长”按钮,将显示如图5.17效果,单击“开花”按钮,将显示如图5.18的效果,单击“结果”按钮,将显示一棵结满果实的草莓秧。

图5.15 页面的默认运行结果

图5.16 单击“播种”按钮的结果

图5.17 单击“生长”按钮的结果

图5.18 单击“开花”按钮的结果

【例5.11】 我的开心小农场。 (实例位置:光盘\TM\sl\5\11)

(1)创建一个名称为index.html的文件,在该文件的<head>标记中应用下面的代码解决PNG图片背景不透明的问题。

    <!-- 使用jQuery解决PNG图片背景不透明的问题 -->
    <script src="../js/jquery-1.11.1.min.js"></script>
    <script src="../js/jquery.pngFix.js"></script>
    <script src="../js/jquery.pngFix.pack.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
             $("#bg").pngFix();
        });
    </script>

(2)在页面的<body>标记中,添加一个显示农场背景的<div>标记,并且在该标记中添加4个<span>标记,用于设置控制按钮,代码如下:

    <div id="bg">
       <span id="seed"></span>
       <span id="grow"></span>
       <span id="bloom"></span>
       <span id="fruit"></span>
    </div>

(3)编写CSS代码,控制农场背景、控制按钮和图片的样式,具体代码参见光盘。

(4)编写jQuery代码,分别为播种、生长、开花和结果按钮绑定单击事件,并在其单击事件中应用操作DOM节点的方法控制作物的生长,具体代码如下:

    <script type="text/javascript">
        $(document).ready(function(){
             $("#seed").bind("click",function(){        //绑定播种按钮的单击事件
             $("#temp").remove();                       //移除img元素
             $("#bg").prepend("<span id='temp'><img src='images/seed.png' /></span>");
             });
             $("#grow").bind("click",function(){        //绑定生长按钮的单击事件
             $("#temp").remove();                       //移除img元素
             $("#bg").append("<span id='temp'><img src='images/grow.png' /></span>");
             });
             $("#bloom").bind("click",function(){       //绑定开花按钮的单击事件
    $("#temp").replaceWith("<span id='temp'><img src='images/bloom.png' /></span>");
             });
             $("#fruit").bind("click",function(){       //绑定结果按钮的单击事件
        $("<span id='temp'><img src='images/fruit.png' /></span>").replaceAll("#temp");
             });
    $("#seed,#grow,#bloom,#fruit").bind("click",function(){ //为多个按钮绑定单击事件
                  $("#temp").pngFix();                  //控制IE6下PNG图片背景透明
                  $("#temp").css({"position":"absolute","top":"85px","left":"195"});
             });
        });
    </script>
注意

$("tr:odd")和$("tr:even")选择器中索引是从0开始的,因此第一行是偶数行。 hFgJVd3BKmvoSWwq462ndpealrkKiDEdVCtLOOsFohYieFM8S97Xq3xtitqllLqC

点击中间区域
呼出菜单
上一章
目录
下一章
×