DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> jQuery實現文本展開收縮特效
jQuery實現文本展開收縮特效
編輯:JavaScript綜合知識     

   在網頁上只有一個小區域,但是說明性的文字又很長,下面這段腳本實現的是長文字的部分顯示。

  當用戶點擊展開時,文字展開,收縮時文字收縮。

  本來用jQuery自帶的toggle()就可以寫,但是我做的時候 toggle一直不work,所以就用了click + 標志位來做的

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 <script language="javascript" src="jquery.js"></script> <script language="javascript"> var cur_status = "less"; $.extend({ show_more_init:function(){ //alert("show_more_init!"); var charNumbers=$(".content").html().length;//總字數 var limit=100;//顯示字數 if(charNumbers>limit) { var orgText=$(".content").html();//原始文本 var orgHeight=$(".content").height();//原始高度 var showText=orgText.substring(0,limit);//最終顯示的文本 $(".content").html(showText); var contentHeight=$(".content").height();//截取內容後的高度 $(".switch").click( function() { if(cur_status == "less"){ $(".content").height(contentHeight).html(orgText).animate({ height:orgHeight}, { duration: "slow" }); $(this).html("收縮"); cur_status = "more"; }else{ $(".content").height(orgHeight).html(showText).animate({ height:contentHeight}, { duration: "fast" }); $(this).html("展開"); cur_status = "less"; } } ); } else { $(".switch").hide(); } } }); $(document).ready(function(){ $.show_more_init(); }); </script> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>test</title> <style> #limittext{ width:640px; height:auto; position:relative; background-color:#ccc; color:black; } .switch{ font-size:12px; text-align:center; cursor:pointer; font-family:Verdana; font-weight:800; position:absolute; bottom:0; width:100%; /*background:url(more-bg.png) repeat-x bottom;*/ height:40px; line-height:80px; } </style> </head> <body> <div id="limittext" > <div class="content" style="padding-bottom:15px;"> 這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字,這是很長的一段文字 </div> <div class="switch">展開</div> </div> </body> </html>

  方法二:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery實現DIV層的收縮展開效果</title> <script type="text/javascript" src="/images/jquery.js"></script> <style> /* 收縮展開效果 */ .text{line-height:22px;padding:0 6px;color:#666;} .box h1{padding-left:10px;height:22px;line-height:22px;background:#f1f1f1;font-weight:bold;} .box{position:relative;border:1px solid #e7e7e7;} </style> </head> <body> <script type="text/javascript"> // 收縮展開效果 $(document).ready(function(){ $(".box h1").toggle(function(){ $(this).next(".text").animate({height: 'toggle', opacity: 'toggle'}, "slow"); },function(){ $(this).next(".text").animate({height: 'toggle', opacity: 'toggle'}, "slow"); }); }); </script> <!-- 收縮展開效果 --> <div class="box"> <h1>收縮展開效果</h1> <div class="text"> 1<br /> 2<br /> 3<br /> 4<br /> 5<br /> </div> </div> <br />   <div class="box"> <h1>收縮展開效果</h1> <div class="text"> 1<br /> 2<br /> </div> </div> <br> <font color=red>第一次運行請刷新一下頁面。</font> </body> </html>

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved