首页 新闻 会员 周边 捐助

为何按着书本写的,最后竟实现不了这个技术

-1
[已解决问题] 解决于 2019-04-12 09:49

<script src="jquery-3.1.1.js"></script>

<img src="img/00.png" alt="">
<button> 隐藏</button>
<button> 显示 </button>
<button> 切换 </button>
<script>

$(function(){
    $("button").click(function(){
        switch($(this).html()){
            case"隐藏":
                $("img").hide();
                break;
            case "显示":
                $("img").show();
                break;
            case "切换":
                $("img").toggle();
                break;
        }
    })
})

</script>

请各位大神救援

玉田的主页 玉田 | 菜鸟二级 | 园豆:210
提问于:2019-04-12 09:36
< >
分享
最佳答案
1

把button的空格去掉就好了,你这个判断逻辑是等于,不是包含:

<button>隐藏</button>
<button>显示</button>
<button>切换</button>
奖励园豆:5
三人乐乐 | 老鸟四级 |园豆:4823 | 2019-04-12 09:41

谢谢

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 09:47

一个空格害死人

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 09:48

@玉田: 你也可以这样写,只要包含关键字,即使有空格和别的任意符号文字,都不会影响:

        $("button").click(function () {
            var text = $(this).html();
            if (text.indexOf("隐藏") >= 0) {
                $("img").hide();
            }
            else if (text.indexOf("显示") >= 0) {
                $("img").show();
            }
            else if (text.indexOf("切换") >= 0) {
                $("img").toggle();
            }
        })
三人乐乐 | 园豆:4823 (老鸟四级) | 2019-04-12 09:55

@三人乐乐: 那我在问的深一点,如果img文件下有很多图片,切换该如何写,就是,点击切换不再是隐藏和显示,而是真正的换了一张图片,换的图片都是img文件里的图片

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 10:13

@玉田:

else if (text.indexOf("切换") >= 0) {
    $("img").attr("src", "Images/冰冠公主.jpg");//修改图片地址,实现切换
}
三人乐乐 | 园豆:4823 (老鸟四级) | 2019-04-12 10:19

@三人乐乐: 这样只能切换一张图片,如果是多张呢?在不确定img文件下有多少张图片

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 10:29

@三人乐乐: 我有一个这样的思路,不知对不对,先统计img文件里的图片,然后通过for循环的方式,通过点击切换,更换图片的路径

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 10:31

@玉田:
1.先统计img文件里的图片,把所有图片隐藏,默认显示第一张;
2.然后用一个全局变量保存当前显示的图片索引,点击切换的时候,就把索引+1;
3.然后通过索引让当前图片显示,到达边界值的时候,;
4.判断一下,让索引为0或者显示指定图片。

三人乐乐 | 园豆:4823 (老鸟四级) | 2019-04-12 11:20

@三人乐乐: 我遇到了一个新问题

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 21:50

@三人乐乐: 下面是个 donut 甜甜圈对象数组

var donuts = [
{ type: "Jelly", cost: 1.22 },
{ type: "Chocolate", cost: 2.45 },
{ type: "Cider", cost: 1.59 },
{ type: "Boston Cream", cost: 5.99 }];
说明:
使用 forEach() 方法循环访问该数组,并使用 console.log 输出以下甜甜圈摘要

Jelly donuts cost $1.22 each
Chocolate donuts cost $2.45 each
Cider donuts cost $1.59 each
Boston Cream donuts cost $5.99 each

玉田 | 园豆:210 (菜鸟二级) | 2019-04-12 21:50

@三人乐乐: 请问,可以通过js来实现吗

玉田 | 园豆:210 (菜鸟二级) | 2019-04-13 09:30

@三人乐乐: 我弄不出来

玉田 | 园豆:210 (菜鸟二级) | 2019-04-13 09:31

@玉田:

    $(document).ready(function () {
        //这是一个json字符串
        var donuts = [
            { type: "Jelly", cost: 1.22 },
            { type: "Chocolate", cost: 2.45 },
            { type: "Cider", cost: 1.59 },
            { type: "Boston Cream", cost: 5.99 }];
        $.each(donuts, function (index, obj) {
            console.log(obj.type + " donuts cost$" + obj.cost + " each");
        });
    });
三人乐乐 | 园豆:4823 (老鸟四级) | 2019-04-13 09:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册