我在将切换功能与另一个涉及更改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:我做了两个小草图,但似乎我不允许分享它们:-(我希望我的问题仍然可以理解。答案 0 :(得分:0)
试试这个:
如果if-statement
或horizontal_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');
}