将切换与其他功能相关联

时间:2015-02-15 11:22:38

标签: javascript jquery scroll click toggle

我在将切换功能与另一个涉及更改css'位置的功能相结合时遇到了问题。属性。

我有一个起始页面,顶部有菜单,下面是图片列。 有些列高于窗口,它们可以与菜单一起向下滚动(两者都在位置:绝对)。

然后,当您单击菜单中的某个项目时,列将隐藏,并显示另一组图片(通过单击+切换功能触发)。这个新设置是水平的,这次我需要菜单不滚动

所以我想要做的是根据切换的状态将菜单的位置从绝对更改为固定。

首先,我尝试在点击功能中添加if / else语句,但是' else'部分从未奏效。现在我尝试使用切换的回调属性,但我似乎无法使其工作......我能做的最好的事情是将菜单的位置切换为固定,但后来就一直这样。

其中一个无效的试用版:

function fixMenu(){
    ('.menu').css('position','fixed')};

function freeMenu(){
    ('.menu').css('position','absolute')};




$("#menu_item").click(function(){

$("#horizontal_set").toggle(1000,fixMenu);
$(".column").toggle(1000,freeMenu);

   });

我不知道我的问题是在语法中还是我需要一个完全不同的解决方案。请赐教: - )

非常感谢

PS:我做了两个小草图,但似乎我不允许分享它们:-(我希望我的问题仍然可以理解。

2 个答案:

答案 0 :(得分:0)

试试这个:

如果if-statementhorizontal_set可见,它会通过column进行检查。并作为结果调用正确的函数。

function fixMenu(){
    $('.menu').css('position','fixed')};

function freeMenu(){
    $('.menu').css('position','absolute')};




$("#menu_item").click(function(){

    $("#horizontal_set").toggle(1000);
    $(".column").toggle(1000);

    if ( $( "#horizontal_set" ).is( ":visible" ) && $( ".column" ).is( ":hidden" ) )
    {
        fixMenu();
    }
    else
    {
        freeMenu();
    }


});

答案 1 :(得分:0)

你忘记了函数中的jQuery选择器。尝试:

function fixMenu() {
   $('.menu').css('position','absolute');
}