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;或者让它“边缘化”。否则我不确定对不起。