jQuery切换宽度

时间:2013-08-09 13:20:40

标签: jquery

使用下面的jQuery我正在尝试.toggleClass,但也要在两个给定宽度之间切换。我无法弄清楚如何在headerwidth和foabgwidth之间进行更改

$('.mChatOpts .pane').click(function(){
    var _headerwidth = $('#header').width();
    var _foabgwidth = $('.forabg').width();
    $('.chatbox').toggleClass('fixed',function(){           
        $('.fixed').css({
            'width':_headerwidth
        });
    });
});

2 个答案:

答案 0 :(得分:1)

您需要查询该元素以查看它是否具有fixed类并相应地执行..

$('.mChatOpts .pane').click(function(){
    var _headerwidth = $('#header').width();
    var _foabgwidth = $('.forabg').width();
    $('.chatbox').toggleClass('fixed',function(){
        var self = $(this),
            added = self.hasClass('fixed'),
            widthToUse = _headerwidth; // initialise with one value

        if (added){
            widthToUse = _foabgwidth;
        }

        self.width(widthToUse);
    });
});

如果你想要反过来,你应该反转if (added) ..

答案 1 :(得分:0)

可能你可以试试这个:

$('.mChatOpts .pane').click(function(){
var _headerwidth = $('#header').width();
var _foabgwidth = $('.forabg').width();
$('.fixed').css('width',_foabgwidth);
$('.chatbox').toggleClass('fixed',function(){           
    $('.fixed').css('width',_headerwidth);
});
});