जवाबों:
आम तौर पर, आप तुलना कर सकते हैं client[Height|Width]के साथ scroll[Height|Width]आदेश में इस का पता लगाने के ... लेकिन मान ही होगा जब अतिप्रवाह दिख रहा है। इसलिए, इसके लिए एक नियमित पता लगाना आवश्यक है:
// Determines if the passed element is overflowing its bounds,
// either vertically or horizontally.
// Will temporarily modify the "overflow" style to detect this
// if necessary.
function checkOverflow(el)
{
var curOverflow = el.style.overflow;
if ( !curOverflow || curOverflow === "visible" )
el.style.overflow = "hidden";
var isOverflowing = el.clientWidth < el.scrollWidth
|| el.clientHeight < el.scrollHeight;
el.style.overflow = curOverflow;
return isOverflowing;
}
FF3, FF40.0.2, IE6, Chrome 0.2.149.30 में परीक्षण किया गया।
clientWidthऔर scrollWidth1px से अलग है।
की तुलना की कोशिश करो element.scrollHeight/ element.scrollWidthकरने के लिए element.offsetHeight/element.offsetWidth
http://developer.mozilla.org/en/DOM/element.offsetWidth
http://developer.mozilla.org/en/DOM/element.offsetHeight
http://developer.mozilla.org/en/DOM_element। स्क्रॉलविद
http://developer.mozilla.org/en/DOM/element.scrollHeight
मुझे नहीं लगता कि यह जवाब सही है। कभी-कभी स्क्रॉलवॉथ / क्लाइंटविथ / ऑफसेटविदथ पाठ के अतिप्रवाह के बावजूद समान होते हैं।
यह क्रोम में अच्छा काम करता है, लेकिन IE और फ़ायरफ़ॉक्स में नहीं।
अंत में, मैंने इस उत्तर की कोशिश की: HTML पाठ-ओवरफ़्लो इलिप्सिस डिटेक्शन
यह एकदम सही है और कहीं भी अच्छी तरह से काम करता है। इसलिए मैं इसे चुनता हूं, शायद आप कोशिश कर सकते हैं, आप निराश नहीं होंगे।
एक अन्य तरीका अपने माता-पिता की चौड़ाई के साथ तत्व चौड़ाई की तुलना करता है:
function checkOverflow(elem) {
const elemWidth = elem.getBoundingClientRect().width
const parentWidth = elem.parentElement.getBoundingClientRect().width
return elemWidth > parentWidth
}
यह एक जावास्क्रिप्ट समाधान (म्यूटूल के साथ) है जो इलाहडर की सीमाओं को फिट करने के लिए फ़ॉन्ट आकार को कम करेगा।
while (elHeader.clientWidth < elHeader.scrollWidth || elHeader.clientHeight < elHeader.scrollHeight) {
var f = parseInt(elHeader.getStyle('font-size'), 10);
f--;
elHeader.setStyle('font-size', f + 'px');
}
ElHeader का सीएसएस:
width:100%;
font-size:40px;
line-height:36px;
font-family:Arial;
text-align:center;
max-height:36px;
overflow:hidden;
ध्यान दें कि eleaeader का रैपर elHeader की चौड़ाई निर्धारित करता है।