Javascript 试图切换CSS属性,但我的jquery有问题

Javascript 试图切换CSS属性,但我的jquery有问题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在切换一个div的css。在阅读了人们尝试类似的事情之后,我把我认为是有效的代码放在了一起,但当我在适当的位置按下shift键(键代码16)(“.slide”和“.active”添加)时,什么都没有发生。这里的关键是,我混合和匹配了我在网上找到的各种代码,所以可能我遗漏了一些简单的东西。我对jquery/javascript的了解非常有限。谢谢你的帮助 下面是HTML/CSS <div class="slide active loading background292929">

我正在切换一个div的css。在阅读了人们尝试类似的事情之后,我把我认为是有效的代码放在了一起,但当我在适当的位置按下shift键(键代码16)(“.slide”和“.active”添加)时,什么都没有发生。这里的关键是,我混合和匹配了我在网上找到的各种代码,所以可能我遗漏了一些简单的东西。我对jquery/javascript的了解非常有限。谢谢你的帮助

下面是HTML/CSS

<div class="slide active loading background292929">
    <div class="drop_down_menu">
    </div>
</div>

.drop_down_menu {
    -webkit-transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    position: absolute;
    background-color: rgba(255,255,255,.5);
    width: 100%;
    height: 100%;
    z-index: 500;
}

.下拉菜单{
-webkit过渡:全部。4s易入易出;
-moz过渡:全部。4轻松输入输出;
-o-transition:全部。4s易于输入输出;
过渡:全部。4s轻松进出;
位置:绝对位置;
背景色:rgba(255255,5);
宽度:100%;
身高:100%;
z指数:500;
}
代码如下:

<script type="text/javascript">
        $(function () { 
            $(document).on("keyup", function (e) {
            if (e.keyCode == 16) {
                $(".slide.active > div.drop_down_menu").toggle(function () {
                    $("drop_down_menu").css({
                        "display": "none"
                    });
                }, function () {
                    $("drop_down_menu").css({
                        "display": "block"
                    });
                });
            }
        });
</script>

$(函数(){
$(文件)。关于(“键控”,功能(e){
如果(e.keyCode==16){
$(“.slide.active>div.drop\u down\u menu”).toggle(函数(){
$(“下拉菜单”).css({
“显示”:“无”
});
},函数(){
$(“下拉菜单”).css({
“显示”:“块”
});
});
}
});

您在
$(“下拉菜单”)中缺少
它应该是
$(“.drop\u下拉菜单”)


$(函数(){
$(文档).bind('keyup',函数(e){
(e.keyCode==16)和($(“.drop\u down\u menu”).toggle();
});
});
请看下面的答案:


我还简化了您的代码—而且
div最初是透明的黑色,因此您可以看到它的实际操作。

首先,toggle函数接受两个参数:
。toggle([duration][,complete])

但你不需要这些

<script type="text/javascript">
  $(function () { 
    $(document).on("keyup", function (e) {
      if (e.keyCode == 16) {
        $(".slide.active > div.drop_down_menu").toggle();
      }
    });
</script>

$(函数(){
$(文件)。关于(“键控”,功能(e){
如果(e.keyCode==16){
$(“.slide.active>div.drop_down_menu”).toggle();
}
});

对于初学者,您需要在jQuery下拉菜单中添加一个“.”选择器,似乎您遗漏了类选择器。$(“.drop\u下拉菜单”),遗漏了“.”(点)“!!修复了这个问题,但仍然不走运。我看到一些人指出了这一点,但我会回应你的。我添加了点,但切换功能仍然不起作用。我看到使用chrome inspect元素,
显示:
属性没有被更改。我已更新了我的答案-请让我知道这是否有帮助。好的,你将键代码16绑定到切换div。是的,这要简单得多。这可以使div消失。理想情况下,我想切换div的CSS。但现在这可以了,谢谢。哦,顺便说一句,网站上有多个
。下拉菜单
类。但是只有活动幻灯片附加了
.active
类。我只想影响
。下拉菜单在活动幻灯片中拥有菜单
,因此
”.slide.active>div.drop\u-down\u-menu'
正确
。slide.active>drop\u-down\u-menu
将在此处工作。好的,使用.toggle()命令它切换
。drop\u-down\u-menu
打开和关闭?我插入了该脚本,但仍然没有效果。
<script type="text/javascript">
  $(function () { 
    $(document).on("keyup", function (e) {
      if (e.keyCode == 16) {
        $(".slide.active > div.drop_down_menu").toggle();
      }
    });
</script>