jQuery .slideToggle切换时改变'x'类背景

时间:2014-07-21 16:18:30

标签: javascript jquery navigation toggle nav

所以在最近两个小时左右,我一直试图执行一段代码,到目前为止,除了一个关键组件外,一切都正常。

在'标题。菜单上'点击'导航'应该向下滑动并显示所有链接。我还希望'.menu'类在'导航'关闭时将其背景设置为'#3D3D3D',然后转换为背景'whitesmoke'。

我一直在'.slideToggle'的处理程序上尝试'addClass'和'removeClass'。

$( 'header .menu a' ).click( function() {
$( 'header nav' ).slideToggle( 'fast', function() {
    console.log('Toggle works');
   });
});

如果这是一个愚蠢的问题,我很抱歉。我的jQuery经验有限,我很想向你们学习。这是js,css和html的Fiddle

干杯!

1 个答案:

答案 0 :(得分:0)

在这里,您只需要使用变量检查滑块是否打开:http://jsfiddle.net/68zNp/12/

var opened=false;
// Code for header button -- menu.
 $( 'header .menu a' ).mouseenter( function() {
    console.log("Menu anchor entered");
    $( 'header .menu' ).css('background', '#3D3D3D');
    $( 'header .menu a' ).css('color', '#F8F7F7');
}).mouseleave( function() {
     if(!opened){
    console.log("'Menu anchor' left");
    $( 'header .menu' ).css('background', 'whitesmoke');
    $( 'header .menu a').css('color', '#3D3D3D');
     }
});

// Header toggle code
$( 'header .menu a' ).click( function() {
    console.log('Ouch, you clicked me!');
    if(!opened){
            opened=true;
        }
        else{
            opened=false;
        }
    $( 'header nav' ).slideToggle( 'fast', function() {
        console.log('Toggle works');
    });
});


// Code for header button -- down.
$( 'header .down a' ).mouseenter( function() {
    console.log("'Chevron down' entered");
    $( 'header .down' ).css('background', '#FF8B59');
    $( 'header .down a' ).css('color', '#F8F7F7');
}).mouseleave( function() {
    console.log("'Chevron down' left");
    $( 'header .down' ).css('background', 'whitesmoke');
    $( 'header .down a').css('color', '#3D3D3D');
});