首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery toggle()函数

JQuery toggle()函数
EN

Stack Overflow用户
提问于 2012-03-20 18:24:03
回答 2查看 1.7K关注 0票数 1

我有一个问题,当我点击链接p打开,然后我点击另一个链接,它不起作用。当我再次单击时,它会起作用。

这是我的jQuery代码:

代码语言:javascript
复制
var toggle = 0;
$(document).ready(function () {
    $(".feedback_block").each(function () {
        $("a", this).click(function (e) {
            if (toggle == 0) {
                $(this).parent().children("p").stop(true, true).fadeIn(500);
                $(this).addClass("clicked");
                $(this).children().addClass("clicked_span");
                toggle = 1;
                console.log(toggle);
            } else
            if (toggle == 1) {
                $(this).parent().children("p").stop(true, true).fadeOut(500);
                $(this).removeClass("clicked");
                $(this).children().removeClass("clicked_span");
                toggle = 0;
                console.log(toggle);

            }
            e.stopPropagation();
            return false;
        });
        toggle = 0;
    });
});

当我单击参数切换get 1时,当我单击另一个链接时,初始值应该是0。我该怎么做呢?

我的例子:http://jsfiddle.net/amkrtchyan/tjzaR/

EN

回答 2

Stack Overflow用户

发布于 2012-03-20 18:27:57

您可以简单地使用toggle() (http://jsfiddle.net/tjzaR/2/)

代码语言:javascript
复制
$(document).ready(function () {
    $(".feedback_block").each(function () {
        $("a", this).toggle(function (e) {

                $(this).parent().children("p").stop(true, true).fadeIn(500);
                $(this).addClass("clicked");
                $(this).children().addClass("clicked_span");

            }, function(){
                $(this).parent().children("p").stop(true, true).fadeOut(500);
                $(this).removeClass("clicked");
                $(this).children().removeClass("clicked_span");


            });
    });
});

或者你可以这样做(在这里拉小提琴http://jsfiddle.net/tjzaR/1/)

代码语言:javascript
复制
$(".feedback_block").each(function () {
    $("a", this).click(function (e) {
        if (!$(this).parent().children("p").is(":visible")){
            $(this).parent().children("p").stop(true, true).fadeIn(500);
            $(this).addClass("clicked");
            $(this).children().addClass("clicked_span");

        } else{
            $(this).parent().children("p").stop(true, true).fadeOut(500);
            $(this).removeClass("clicked");
            $(this).children().removeClass("clicked_span");


        }
        return false;
    });

});
票数 1
EN

Stack Overflow用户

发布于 2012-03-20 18:31:13

代码语言:javascript
复制
 $("a", this).toggle(function () {

                $(this).parent().children("p").stop(true, true).fadeIn(500);
                $(this).addClass("clicked");
                $(this).children().addClass("clicked_span");
                return false; 

            }, function(){

                $(this).parent().children("p").stop(true, true).fadeOut(500);
                $(this).removeClass("clicked");
                $(this).children().removeClass("clicked_span");
                return false;

            });

我们能不能不直接使用切换功能。Toggle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9784936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档