import React, { useEffect, useState } from "react";
import "./OverflowEciple.css";
export default function OverflowEciple(props) {
const [isOverFlow, setIsOverFlow] = useState(false);
const [isFold, setIsFold] = useState(true);
useEffect(() => {
function handleResize() {
const contentDom = window.document.getElementById("textContentDom");
//文本溢出
if (contentDom.scrollHeight > 50) {
setIsOverFlow(true);
} else {
setIsOverFlow(false);
}
}
const wrapHandleResize = throttle(handleResize, 100);
wrapHandleResize();
window.addEventListener("resize", wrapHandleResize);
return function() {
window.removeEventListener("resize", wrapHandleResize);
};
}, []);
//防抖
function throttle(func, delay) {
let pre = Date.now();
return function() {
let now = Date.now();
if (now - pre >= delay) {
func.apply(this, arguments);
pre = now;
}
};
}
//点击折叠或者展开
function handleFold() {
setIsFold(!isFold);
}
return (
<div
id="textContentDom"
className={isOverFlow ? "overflowed" : "unOverflowed"}
isfold={isFold + ""}
onClick={handleFold}
>
fdsfsdfsdfsdf你好我不闪躲我非要这么做,见领名是让你明白,没有别的路要走,让你感觉爱
对你偏爱fdsfsdfsdfsdf你好我不闪躲我非要这么做,见领名是让你明白,没有别的路要走,让你感觉爱
</div>
);
}