2016-04-21 48 views
2

我使用這個JQuery來獲得一個div,當窗口寬度小於1200px,並且無法找出我正在犯的錯誤時,它的寬度與另一個寬度相同。如何讓div在jQuery中的寬度相同?

var width = $('.creative').outerWidth(); 

if ($(window).width() < 1200){ 

    $('#right-child').css('width', width); 
}else{ 
    console.log('more than 1200'); 
}; 
+1

如果你想修改div的_height_,那麼設置'width'可能是錯誤的方法。 – Hamms

+1

'$(window).width()'只會給你一個數字。您必須將單位附加到它的末尾,就像@slick的示例 –

+0

中一樣,您還可以嘗試使用[CSS3 Media Queries](https://developer.mozilla.org/en-US/docs/Web/CSS/) Media_Queries/Using_media_queries) –

回答

1

想我知道什麼問題,你的代碼是正確的!但是......如果你用全部瀏覽器的寬度測試這些代碼,沒有什麼會改變。您需要添加.resize事件(https://api.jquery.com/resize/),就是這樣!

$(window).resize(function(){ 

     console.log('resize!'); 
     var width = $('.creative').outerWidth(); 
     if ($(window).width() < 1200){ 
      $('#right-child').css('width', width); 
     }else{ 
      console.log('more than 1200'); 
     }; 

    }); 

如果問題仍然存在,只是讓我知道。

+0

這似乎工作 –

6

嘗試連接值與單位名稱。

$('#right-child').css('width', width + 'px');

+0

仍然不起作用。 –

+0

@EliJayson,我不是魔術師。我無法猜測。控制檯中有任何錯誤?試着用'console.log()'每一行來查看它的中斷點......調試你自己的代碼。 – slick

+0

剛回來看看這個。原來你是魔術師,而且確實有效。事實上,我最初的代碼實際上也起作用。沒有錯誤,我登錄到控制檯的所有內容都通過了,所以我花了一段時間才弄清楚了。我有css flexbox應用於div我想保持相同的寬度。由於flexbox僅在某些瀏覽器上受支持,因此我將jQuerys添加爲後備。由於某種原因,flexbox在1200到400px之間變成了awol。它根本不起作用,但仍以某種方式覆蓋了jQuery。仍在研究解決方案。謝謝 –

相關問題