我想檢查一下div元素是否存在溢出,但我無法讓它工作。下面是我的JavaScript和一個jsfiddle與整個事物的鏈接。任何幫助,將不勝感激!檢查看到的元素有內容溢出
var el = $('.container_element');
if(el.scrollWidth < el.offsetWidth){
// your element have overflow
$("nav#sub").css("background-color","red")
}
else if (el.scrollWidth > el.offsetWidth)
{ $("nav#sub").css("background-color","grey")
//your element don't have overflow
}
.box
{
height:55px;
width:280px;
padding:13px;
line-height: 57px;
color:#fff;
display:inline;
text-decoration:none;
text-align:center;
white-space:no-wrap;
border-right:1px solid white
}
.box:hover {
background:#007FEB;
}
.container_element
{
white-space:nowrap;
margin-left: 10px;
overflow:hidden;
display:block;
}
.inner_container
{
width:100%;
}
#lefty,#righty {
width: 35px;
display: none;
height: 57px;
text-align: center;
color: #fff;
line-height: 57px;
cursor: pointer;
font-size: 24px;
}
#lefty {
float:left;
}
#righty {
float:right;
}
nav#sub {
background:#4C75C6
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="sub" class="clearfix">
<div id="lefty"><</div>
<div class="container_element">
<div class="inner_container">
<a href="#"><div class="box">One</div></a>
<a href="#"><div class="box">Two</div></a>
<a href="#"><div class="box">Three</div></a>
<a href="#"><div class="box">Four</div></a>
<a href="#"><div class="box">Fiveddddddfivefive</div></a>
<a href="#"><div class="box">Six really lreerere</div></a>
<a href="#"><div class="box">Seven really really long</div></a>
</div>
</div>
<div id="righty">></div>
</nav>
您可以編輯答案來解釋爲什麼OP的解決方案是失敗的。我認爲這是行不通的,因爲他把'el'變成了一個jQuery對象,然後試圖像使用常規的Javascript對象那樣使用它。它也可以通過改變IF語句來使用jQuery對象:'if($(el).prop(「scrollWidth」)'... –
你對@TonyHinkle我會編輯我的答案來解釋 – smdsgn