Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery addclass、removeclass并单击事件问题(代码)_Jquery - Fatal编程技术网

jQuery addclass、removeclass并单击事件问题(代码)

jQuery addclass、removeclass并单击事件问题(代码),jquery,Jquery,有人能帮我修复这个代码吗? 第一部分工作完美。。。当我试着让第二个工作时,它什么也没做 这是html: jQuery(document).ready(function () { jQuery('.isSocial').click(function () { var hidden = jQuery('.socialHidden'); hidden.animate({ "top": "35px" }, 400);

有人能帮我修复这个代码吗? 第一部分工作完美。。。当我试着让第二个工作时,它什么也没做

这是html:

jQuery(document).ready(function () {
    jQuery('.isSocial').click(function () {
        var hidden = jQuery('.socialHidden');
        hidden.animate({
            "top": "35px"
        }, 400);
        jQuery(".socialHidden>div").delay(400).animate({
            opacity: "1"
        }, 150);
        jQuery(".isSocial").addClass("closejs").removeClass("isSocial");
        return false;
    });
    jQuery('.closejs').click(function () {
        var hidden = jQuery('.socialHidden');
        hidden.delay(200).animate({
            "top": "-176px"
        }, 400);
        jQuery(".socialHidden>div").animate({
            opacity: "0"
        }, 150);
        jQuery(".closejs").addClass("isSocial").removeClass("closejs");
    });
});
按钮
内容。。。。。

由于您正在动态更改类,因此应使用

    <button class="isSocial">BUTTON</button>
    <div class="socialHidden">
    <div>
    content.....
    </div>
    </div>

+1.为了进一步扩展,每当您有动态元素(用户添加的元素,或上面更改类的元素)时,您编写的代码不会影响这些元素,除非您将事件处理程序委托给父元素(在本例中,
document
是显式父元素)。这是因为事件冒泡的工作方式(在DOM中先升后降,或先降后升,这取决于您如何定义事件侦听器)。@LorenzoPimps真的吗??然后你可以接受答案并投票表决。对吗???@JoshBeam这是一个很好的解释。
jQuery(document).ready(function () {
    jQuery(document).on("click", '.isSocial', function () {
        var hidden = jQuery('.socialHidden');
        hidden.animate({
            "top": "35px"
        }, 400);
        jQuery(".socialHidden>div").delay(400).animate({
            opacity: "1"
        }, 150);
        jQuery(".isSocial").addClass("closejs").removeClass("isSocial");
        return false;
    });
    jQuery(document).on("click", '.closejs', function () {
        var hidden = jQuery('.socialHidden');
        hidden.delay(200).animate({
            "top": "-176px"
        }, 400);
        jQuery(".socialHidden>div").animate({
            opacity: "0"
        }, 150);
        jQuery(".closejs").addClass("isSocial").removeClass("closejs");
    });
});