我有一个侧边栏,当您单击按钮时,侧边栏向左滑动250px
,当您单击相同的按钮时,我希望它向后滑动250px
- 我目前正在使用jquery {{ 1}}但由于我对jquery相当新,我需要问我做错了什么?
.toggle
我正在使用1.9.1(在删除.toggle之前)并且UI不是一个选项。
感谢。
答案 0 :(得分:2)
$(function(){ })
;不是function()
click event handler
。您可以将CSS transitions
用于动画,而不是jQuery
。
$(函数($){ $( 'a.mobile菜单图标')。在( '点击',函数(){ $('#侧边栏)toggleClass( '激活')。 }); });
答案 1 :(得分:1)
但事件是“点击”,而不是切换。也许这个:
$('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);
}
});
答案 2 :(得分:0)
{@ 1}}事件已弃用,并且不再适用于该函数。通过向.toggle()
添加data-open
属性,可以非常轻松地创建此类函数。这是可以这样做的代码。唯一需要做的更改就是让<a>
像这样:<a>
<a href="#" class="mobile-menu-icon" data-open="true">Click to toggle</a>
这是一个小提琴链接:http://jsfiddle.net/zfc3V/18/
答案 3 :(得分:0)
使用CSS代替 的 JS:强>
$('a.mobile-menu-icon').on("click", function() {
$('#sidebar').toggleClass('show');
});
<强>的CSS:强>
#sidebar {
left: 0;
-webkit-transition: all .7s ease;
-moz-transition: all .7s ease;
-ms-transition: all .7s ease;
-o-transition: all .7s ease;
transition: all .7s ease;
}
#sidebar.show {
left: 250px;
}