jQuery点击图片来回切换功能

在项目里,有时候会写这样的开关效果,点击开关来回切换,也就是jquery实现点击图片切换为另一图片,再次点击恢复到原图片。

下面是一个小的demo示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
    </head>
    <body>
        <div>
            <img class="imgclick" src="images/off.png"/>
        </div>       
    </body>
    <script>
        /* 实现图片切换 */
        $(".imgclick").toggle(function() {
            $(this).attr("src", "images/off.png");
        }, function() {
            $(this).attr("src", "images/on.png");
        }).attr("src", "images/on.png");
    </script>
</html>

但是这里需要注意的问题是
toggle() 方法在 jQuery 版本 1.8 中[被废弃](javascript:NewWindow('/try/deprecated.htm');),在版本 1.9 中被移除。

所以换个demo
实现一下jQuery点击图片来回切换功能

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title></title>
    </head>

    <body>

        <img class="button" src="images/checked.png">
    </body>
    <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
    <script>
        //这是一个全局变量
        var kg = true; //给一个开关并赋值,用来进行后面的 if else 条件判断

        $(".button").click(function() { //给button按钮一个点击事件

            if (kg) { //进行判断               //attr() 方法设置或返回被选元素的属性值
                $(this).attr("src", "images/check.png") //这里一定要放另外的一张图,不然当点击时,会实现不了切换的效果
            } else {
                $(this).attr("src", "images/checked.png")
            }
            kg = !kg; //这里的感叹号是取反的意思,如果你没有写,当你点击切换回第一张图片时,就会不生效
        })
    </script>

</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章