0

使用下面的 jQuery,我正在尝试.toggleClass同时在 2 个给定宽度之间切换。我不太清楚如何在 headerwidth 和 foabgwidth 之间进行更改

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

2 回答 2

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)如果你想要它,你应该反转它..

于 2013-08-09T13:56:28.090 回答
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);
});
});
于 2013-08-09T13:39:11.237 回答