この記事の例では、jQuery によって実装されたマルチスライディング ドアとマルチタブの効果について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
実行中のエフェクトのスクリーンショットは次のとおりです:
具体的なコードは次のとおりです:
<!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> <script language="javascript" src="jquery-1.4.2.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>超多滑动门效果</title> <style type="text/css"> * { margin:0; padding:0; } body { font-size:12px; } ul, li { list-style-type:none; } #tab { width:500px; height:200px; margin:20px auto; overflow:hidden; } #tab .tab_title { width:500px; height:22px; overflow:hidden; left:0; top:0; clear:both; overflow:hidden; position:relative; } #tab .tab_title .u { width:465px; overflow:hidden; position:relative; } #tab .tab_title ul { margin:0 5px; position:absolute; float:left; width:2784px;/*这个即是滑动门的总长度!就是所有的li的宽度加上间距!计算本案例中的宽度即为:24*100+14*24+24*2(2为边框宽度)=2784 */ } #tab .tab_title div { float:left; width:15px; height:20px; line-height:20px; cursor:pointer; } #tab .tab_title span.vright { top:0; right:5px; margin-left:2px; } #tab .tab_title span.vleft { top:0; left:0px; padding-left:5px; } #tab .tab_title li { float:left; width:100px;/*这个的宽度即是四个滑动门栏目的宽度*/ height:20px; line-height:20px; text-align:center; background-color:#cccccc; margin-right:14px; border:1px #999999 solid; cursor:pointer; } #tab .tab_title li:hover { background-color:#999999 } #tab .tab_title li.selected { background-color:#666666; } #tab .tab_content { width:476px; height:156px; overflow:hidden; padding:10px; border:1px #CCCCCC solid; } #tab .tab_content div { border:1px #999999 dotted; } #tab .tab_content div p { line-height:1.5; text-indent:25px; color:#333333; } #tab .tab_content .none { display:none; } #div1 { border:1px #CCCCCC solid; position:absolute; display:none; background:#EEF7EE; font-size:12px; padding:5px; color:#999999; } #div2 { width:120px; height:15px; border:1px #CCCCCC solid; position:absolute; display:none; background:#CCCCCC; font-size:5px; padding:2px; color:#999999; } </style> <script language="javascript"> $(function(){ var index = 0; $(".tab_title ul li").click(function(){ index = $(".tab_title ul li").index(this); $(this).addClass("selected").siblings().removeClass("selected"); $(".tab_content div").eq(index).show().siblings().hide(); }); var i = 4; //这个前端展示几个滑动门栏目 var len = $(".u .scrol li").length; var page = 1; var maxpage = Math.ceil(len/i); var scrollWidth = $(".u").width(); var divbox = "<div id='div1' >呵呵,没有了</div>"; $("body").append(divbox); $(".vright").click(function(e){ if(!$(".u .scrol").is(":animated")){ if(page == maxpage ){ $(".u .scrol").stop(); $("#div1").css({ "top": (e.pageY + 20) +"px", "left": (e.pageX + 20) +"px", "opacity": "0.9" }).stop(true,false).fadeIn(800).fadeOut(800); }else{ $(".u .scrol").animate({left : "-=" + scrollWidth +"px"},2000); page++; } } }); $(".vleft").click(function(){ if(!$(".u .scrol").is(":animated")){ if(page == 1){ $(".u .scrol").stop(); }else{ $(".u .scrol").animate({left : "+=" + scrollWidth +"px"},2000); page--; } } }); }); </script> </head> <body> <div id="tab"> <div class="tab_title"> <div class="vleft"><strong><<</strong></div> <div class="u"> <ul class="scrol"> <li class="selected">1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> <li>11</li> <li>12</li> <li>13</li> <li>14</li> <li>15</li> <li>16</li> <li>17</li> <li>18</li> <li>19</li> <li>20</li> <li>21</li> <li>22</li> <li>23</li> <li>24</li> </ul> </div> <div class="vright"><strong>>></strong></div> </div> <div class="tab_content"> <div> <p>1的内容</p> </div> <div class="none"> <p>2的内容</p> </div> <div class="none"> <p>3的内容</p> </div> <div class="none"> <p>4的内容</p> </div> <div class="none"> <p>5的内容</p> </div> <div class="none"> <p>6的内容</p> </div> <div class="none"> <p>7的内容</p> </div> <div class="none"> <p>8的内容</p> </div> <div class="none"> <p>9的内容</p> </div> <div class="none"> <p>10的内容</p> </div> <div class="none"> <p>10的内容</p> </div> <div class="none"> <p>12的内容</p> </div> <div class="none"> <p>13的内容</p> </div> <div class="none"> <p>14的内容</p> </div> <div class="none"> <p>15的内容</p> </div> <div class="none"> <p>16的内容</p> </div> <div class="none"> <p>17的内容</p> </div> <div class="none"> <p>18的内容</p> </div> <div class="none"> <p>19的内容</p> </div> <div class="none"> <p>20的内容</p> </div> <div class="none"> <p>21的内容</p> </div> <div class="none"> <p>22的内容</p> </div> <div class="none"> <p>23的内容</p> </div> <div class="none"> <p>24的内容</p> </div> </div> </div> </body> </html>
さらに jQuery 関連のコンテンツに興味がある読者は、このサイトの特別トピック「JQuery ドラッグ効果とテクニックの概要」、「jQuery 拡張テクニックの概要」をチェックしてください。 、「jQuery共通古典特撮まとめ」、「jQueryアニメーション・特撮使い方まとめ」、「jQueryセレクター使い方まとめ」、「jQuery」一般的なプラグインと使い方のまとめ》
この記事が jQuery プログラミングのすべての人に役立つことを願っています。