Javascript 在jquery中切换css属性?

Javascript 在jquery中切换css属性?,javascript,jquery,css,Javascript,Jquery,Css,我有一个菜单,单击nav toggle类可以滑出 现在我还希望nav toggle类(菜单图标)从右侧沿226px移动,因此它与#navigation菜单同时移动。然后,如果再次单击,它将折叠菜单(与当前一样),并返回到right:0位置 见最后第三行我的评论 jQuery('.nav-toggle').click(function () { var $marginLefty = jQuery('#navigation'); $marginLefty.animat

我有一个菜单,单击
nav toggle
类可以滑出

现在我还希望
nav toggle
类(菜单图标)从右侧沿226px移动,因此它与
#navigation
菜单同时移动。然后,如果再次单击,它将折叠菜单(与当前一样),并返回到
right:0
位置

见最后第三行我的评论

jQuery('.nav-toggle').click(function () {
        var $marginLefty = jQuery('#navigation');
        $marginLefty.animate({
            right: parseInt($marginLefty.css('right'), 10) == 0 ? -$marginLefty.outerWidth() : 0
        });
        jQuery('.nav-toggle').animate({
            right: "226px" 
        // How do I make it so if it is at 226px when clicked
        // it should then go to "right: 0", that toggle effect as above
        });
    });

可能就像你做的导航一样:

 jQuery('.nav-toggle').animate({
    right: parseInt(jQuery('.nav_toggle').css('right'), 10) == 0 ? "226px" : 0;
 });

可能就像你做的导航一样:

 jQuery('.nav-toggle').animate({
    right: parseInt(jQuery('.nav_toggle').css('right'), 10) == 0 ? "226px" : 0;
 });

只需添加一个类来检查导航是否已展开/移动

var navbar = $('.nav-toggle');    
if (navbar.hasClass('expanded'))
            {
                $(navbar).animate({'right':'226px'}).removeClass('expanded');
            } else {
                $(navbar).animate({'right':'0px'}).addClass('expanded');
            }

请注意,这些数字可能需要翻转。

只需添加一个类来检查导航是否已展开/移动

var navbar = $('.nav-toggle');    
if (navbar.hasClass('expanded'))
            {
                $(navbar).animate({'right':'226px'}).removeClass('expanded');
            } else {
                $(navbar).animate({'right':'0px'}).addClass('expanded');
            }

请注意,这些数字可能需要翻转。

我认为您需要这样做:

jQuery('.nav-toggle').click(function () {
    var $marginLefty = jQuery('#navigation');
    $marginLefty.animate({
        right: parseInt($marginLefty.css('right'), 10) == 0 ? -$marginLefty.outerWidth() : 0
    });
    if ($('.nav-toggle').css('right') == '0px') {
        $(".nav-toggle").stop().animate({right: '226px'}, 1000);
    } else {
        $(".nav-toggle").stop().animate({right: '0px'}, 1000);
    };
});

我认为你需要这样做:

jQuery('.nav-toggle').click(function () {
    var $marginLefty = jQuery('#navigation');
    $marginLefty.animate({
        right: parseInt($marginLefty.css('right'), 10) == 0 ? -$marginLefty.outerWidth() : 0
    });
    if ($('.nav-toggle').css('right') == '0px') {
        $(".nav-toggle").stop().animate({right: '226px'}, 1000);
    } else {
        $(".nav-toggle").stop().animate({right: '0px'}, 1000);
    };
});


你能做一把小提琴吗?你能把相关的html也包括进去吗?:)编辑:或小提琴。。那也行……)你能用你的html/css/JSIDLE创建并发布一个JSFIDLE吗?你能制作一个FIDLE吗?你能同时包含相关的html吗?:)编辑:或小提琴。。那也行……)你能用你的html/css/JSF创建并发布一个JSFIDLE吗?比我要说的要干净得多+1页面现在未加载:)我将在此处粘贴代码<代码>jQuery('.nav toggle,.nav close')。单击(函数(){var$marginLefty=jQuery('#navigation');$marginLefty.animate({right:parseInt($marginLefty.css('right'),10)==0?-$marginLefty.outerWidth():0});jQuery('.nav toggle')。动画({right:parseInt(jQuery('nav toggle').css('right'),10)==0?“226px”:0;});})我的错,对不起,额外的
没问题。很高兴你找到了。谢谢@mavrosxristoforos,非常感谢!比我要放的东西干净多了+1页面现在未加载:)我将在此处粘贴代码<代码>jQuery('.nav toggle,.nav close')。单击(函数(){var$marginLefty=jQuery('#navigation');$marginLefty.animate({right:parseInt($marginLefty.css('right'),10)==0?-$marginLefty.outerWidth():0});jQuery('.nav toggle')。动画({right:parseInt(jQuery('nav toggle').css('right'),10)==0?“226px”:0;});})我的错,对不起,额外的
没问题。很高兴你找到了。谢谢@mavrosxristoforos,非常感谢!谢谢问题是,我想把它封装在on-click函数中。因此,如果用户单击导航切换,它不仅会引入/引出导航div,还会设置导航切换位置的动画。我不能使用按钮切换,因为我已经在使用on click并希望与之集成。谢谢。问题是,我想把它封装在on-click函数中。因此,如果用户单击导航切换,它不仅会引入/引出导航div,还会设置导航切换位置的动画。我无法使用按钮切换,因为我已经在使用点击,并希望与之集成。请重试,然后尝试翻转226px和0px;或者让它“边缘化”。否则我不确定抱歉。请重试,并尝试翻转226px和0px;或者让它“边缘化”。否则我不确定对不起。