html中使用js實現內容過長時部分


有時數據內容太長時我們並不希望其全部顯示出來,因為這樣可能會導致用於顯示這些內容的標簽被撐開影響美觀。

這時就希望能夠實現默認只顯示部分內容,在鼠標放上去的時候再將全部的內容顯示出來。

這里提供一個簡單的實現方法,通過將全部內容放在單獨一個標簽中,通過控制這個標簽的顯示與隱藏實現此效果。

html頁面中創建一個table,用於存放默認的數據,在需要顯示更多數據的td中新建一個div用於顯示所有數據(可以放在任何期望的位置)。

這里通過樣式控制此div的顯示與隱藏。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>過長內容隱藏</title>
        <style type="text/css">
            td{
                width:200px;
                border:1px solid #000;
            }
            .fullData{
                display:none;
            }
            #userDesp:hover .fullData{
                position:absolute;
                display:block;
                cursor:hand;
                word-break: break-all;
                width:200px;
                background-color: rgba(0,0,0,0.5);
                color:#fff
            }
        </style>
</head>
<body>
<table>
    <tr>
        <td>用戶名</td>
        <td>簡介</td>
    </tr>
    <tr>
        <td>userName</td>
        <td id="userDesp">
            鼠標置於此查看詳情
            <div class="fullData">
                這時用戶簡介,比較長,所以把其他內容給隱藏了,鼠標放上來就能看見了哦。
            </div>
        </td>
    </tr>
</table>
</body>
</html>

如果需要js控制顯示與隱藏,可以使用onmouseover和onmouseout這兩個事件。

給td中添加這兩個事件,

 

<td onmouseover="showDetails(this)" onmouseout="closeDetails(this)">
            鼠標置於此查看詳情
            <div style="display:none">
                這時用戶簡介,比較長,所以把其他內容給隱藏了,鼠標放上來就能看見了哦。
            </div>
</td>

 

然后在js部分寫上需要控制的div的樣式。

<script type="text/javascript">
        function showDetails(o){
            o.getElementsByTagName("div").item(0).style.cssText = "position:absolute; display:block;cursor:hand; word-break: break-all;width:200px;background-color: rgba(0,0,0,0.5);color:#fff";
        }

        function closeDetails(o){
            o.getElementsByTagName("div").item(0).style.cssText = "display:none";
        }
</script>

這樣就可以實現簡單的隱藏與顯示了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM