2012-12-10 72 views
1

我有一個div,它自動隱藏在屏幕的左側幷包含miller列。 div的內容的寬度是未知的。如果我使用.width(500)硬編碼寬度,它可以正常工作,但現在我試圖讓它自動適應鼠標移過來的內容,然後縮小到mouseleave。在鼠標懸停上使用jquery自動調整div的內容

這是我現在的代碼,問題是,當我mouseover時沒有任何反應。當時的想法是,除去寬度的CSS屬性,恢復到默認值

$(".leftnavdiv").live({           //code for autohide 
    mouseenter: 
    function() { 
     $(this).css('width',''); 
     //$("body").css('padding-left','510px'); 
    }, 
    mouseleave: 
    function() { 
     $(this).css('width','10px'); 
     //$("body").css('padding-left','20px'); 
    } 
} 
); 
+0

你能張貼你的CSS和HTML - 而且,如果你在http://jsfiddle.net/中做了一個你現在擁有的例子,那麼這個例子會有很大幫助,所以我們可以用它來玩。 –

+0

要將元素拉伸到所需的寬度,必須將其設置爲「auto」。 CSS中沒有空值 - [任何屬性都有默認值(初始值)。對於'width',這是'auto'。](https://developer.mozilla.org/en-US/docs/CSS/width) – feeela

回答

1

浮法您的容器到左邊,然後鼠標套裝width: auto;過來:

$(".leftnavdiv").bind("mouseenter", function() { 
    $(this).css('width', 'auto'); 
}); 

$(".leftnavdiv").bind("mouseleave", function() { 
    $(this).css('width','10px'); 
});​ 

工作例如:jsFiddle here

+0

簡單而優雅。精美的作品:) –

0

嘗試寬度設置爲0,設置它的空白,使得它採取一些隨機值。檢查這個小提琴並嘗試0和空白。您可以在控制檯日誌中看到不同之處。 FIDDLE:http://jsfiddle.net/UyAPj/

$(this).css('width','0px');