以下是我的网站:http://mttdn.com/dev/
如果单击右上角的灯光开关按钮,您将看到隐藏的div从右侧滑入。再次单击该按钮,它会向后滑动。我希望能够在按下“P”键时进行相同的操作。我可以设置.keypress();,如果你单击'P',你可以看到,但是,你也会看到,使用我为.click();所做的相同代码,div滑入,然后立即滑出。我试图弄清楚如何使用.toggle();与.keypress();所以这不会发生。
这是我的代码:
$(document).ready(function(){
var previewopen = $(".codepreview");
$(document).keypress(function(event){
if (event.which == 112){
previewopen.animate({left:"-=50%",},'normal');
previewopen.animate({left:"+=50%",},'normal');
}
});
});
我只是希望能够点击“P”,让div滑出并停止,然后再次点击“P”让它向后滑动。完成此任务的最佳方法是什么?任何帮助是极大的赞赏!谢谢!
答案 0 :(得分:2)
点击事件似乎工作正常。为什么不在按键上触发它? 这样的事情:
$(document).ready(function(){
$(document).keypress(function(event){
if (event.which == 112){
$('.lightswitch').trigger('click');
}
});
});
答案 1 :(得分:2)
只需使用布尔开关:
(function() {
var on = false;
$(document).keypress(function(event) {
if (event.which == 112) {
previewopen.animate({left: on ? '-=50%' : '+=50%'}, 'normal');
on = !on;
}
});
})();
我删除了对象文字中的尾随,
,这会导致某些浏览器出现问题(我会让你猜猜哪个...),并且我使用了匿名函数来保持{ {1}}本地。