我正在尝试使用以下内容,但它不起作用。我做错了,这是肯定的。
$.keyNav();
$.whenPressed('t',function(){
$("#grid-wrapper article.post").fadeTo(200, 1);
});
$.whenPressed('p',function(){
$("#grid-wrapper article.post").not(".category-photographie").fadeTo(200, 0.1);
$("#grid-wrapper article.post").filter(".category-photographie").fadeTo(200, 1);
});
$.whenPressed('d',function(){
$("#grid-wrapper article.post").not(".category-design").fadeTo(200, 0.1);
$("#grid-wrapper article.post").filter(".category-design").fadeTo(200, 1);
});
$.whenPressed('v',function(){
$("#grid-wrapper article.post").not(".category-video").fadeTo(200, 0.1);
$("#grid-wrapper article.post").filter(".category-video").fadeTo(200, 1);
});
$.whenPressed('w',function(){
$("#grid-wrapper article.post").not(".tweet").fadeTo(200, 0.1);
$("#grid-wrapper article.post").filter(".tweet").fadeTo(200, 1);
});
});
如果我删除了最后一个});
它可以工作,但不能在IE中删除,那么我的语法可能错了吗?
我使用的是keynav插件:
https://github.com/BrianTheCoder/jquery-keyboard-navigation/blob/master/README
答案 0 :(得分:2)
我不确定你的IE是什么问题,看起来好像你发布的代码不会导致任何问题...很可能之前此代码有错误,比如尾随逗号IE不会容忍的东西)。检查开发人员控制台中IE中的错误(在IE8 +中)和早期版本中的状态栏,看看发生了什么。
我确实有一个建议,使用对象贴图在这里减少你的代码,因为你重复了很多...这样做你可以更多可能的语法错误,像这样:
var map = { t:"*",
p:".category-photographie",
d:".category-design",
v:".category-video",
w:".tweet" };
$.keyNav();
$.each(map, function(key, selector) {
$.whenPressed(key,function(){
$("#grid-wrapper article.post").not(selector).fadeTo(200, 0.1)
.end().filter(selector).fadeTo(200, 1);
});
});