我有一个侧边栏,当你点击一个按钮时,侧边栏向左滑动250px,当你点击相同的按钮时,我希望它向后滑动250px -我目前正在使用jquery .toggle,但由于我是jquery的新手,我需要问我做错了什么?
(function($){
$('a.mobile-menu-icon').toggle(
function(){
$('#sidebar').animate({left: '250px'}, 700);
},
function(){
$('#sidebar').animate({left: '0px'}, 700);
});
});我使用的是1.9.1 (在.toggle被移除之前),UI不是一个选项。
谢谢。
发布于 2013-06-13 22:41:20
但事件是“单击”,而不是切换。也许可以这样做:
$('a.mobile-menu-icon').click( function(event){
var trigger = $(this);
if( trigger.hasClass("expanded")){
trigger.removeClass("expanded");
$('#sidebar').animate({left: '250px'}, 700);
} else {
trigger.addClass("expanded");
$('#sidebar').animate({left: '0px'}, 700);
}
});发布于 2013-06-13 22:44:45
,
$(function(){ });function()click event handler.CSS transitions代替jQuery来播放动画。$(function($){ $(‘a.mobile-menu-icon’).on(‘点击’,function(){ $(‘#侧边栏’).toggleClass(‘active’);});});
发布于 2013-06-13 22:44:14
.toggle()事件已弃用,并且在该函数中不再起作用。通过向<a>添加data-open属性,可以非常容易地创建这样的函数。下面是这样做的代码。唯一需要更改的是使您的<a>如下所示:<a href="#" class="mobile-menu-icon" data-open="true">Click to toggle</a>
$('a.mobile-menu-icon').click(function() {
var x = $(this).data('open');
$('#sidebar').animate({left: (x) ? '250px' : '0px'}, 700);
x ? $(this).data('open', false) : $(this).data('open', true);
});这里有一个小提琴链接:http://jsfiddle.net/zfc3V/18/
https://stackoverflow.com/questions/17089824
复制相似问题