JQuery實現導航效果、新聞滾動、廣告效果、橫向滾動

  

JQuery實現導航效果、新聞滾動、廣告效果、橫向滾動

1、導航效果
2、新聞滾動(跑馬燈)
3、廣告效果
4、新款上市模塊橫向滾動

1、導航效果


圖1.1 導航效果
1.1 導航樣式
  1. <style type="text/css">  
  2.         /*導航樣式開始*/  
  3.         #navigation { width:784pxpadding:8pxmargin:8px autobackground:#3B5998;height:18px;}  
  4.         #navigation ul li { float:leftmargin-right:14px;positionrelative ;z-index:100;}  
  5.         #navigation ul li a { display:block;padding:0 8pxbackground:#EEEEEEfont-weight:700;}  
  6.         #navigation ul li a:hover { background:nonecolor:#fff;}  
  7.         #navigation ul li ul{background-color#88C366;positionabsolute;width80px;overflow:hidden;display:none;}  
  8.         #navigation ul li:hover ul{background-color#88C366;positionabsolute;width100px;display:block;}  
  9.         #navigation ul li ul li{border-bottom1px solid #BBB;text-alignleft;width100%;}  
  10.         /*導航樣式結束*/  
  11. </style>  
1.2 導航HTML
[html] view plaincopy
  1. <!--導航開始-->  
  2. <div id="navigation">  
  3.     <ul>  
  4.          <li><a href="#">首 頁</a></li>  
  5.          <li><a href="#">襯 衫</a>  
  6.                 <ul>  
  7.                      <li><a href="#">短袖襯衫</a></li>  
  8.                      <li><a href="#">長袖襯衫</a></li>  
  9.                      <li><a href="#">無袖襯衫</a></li>  
  10.                 </ul>  
  11.         </li>  
  12.         <li><a href="#">衛 衣</a>  
  13.                 <ul>  
  14.                      <li><a href="#">開襟衛衣</a></li>  
  15.                      <li><a href="#">套頭衛衣</a></li>  
  16.                 </ul>  
  17.          </li>  
  18.         <li><a href="#">褲 子</a>  
  19.                 <ul>  
  20.                      <li><a href="#">休閒褲</a></li>  
  21.                      <li><a href="#">卡其褲</a></li>  
  22.                      <li><a href="#">牛仔褲</a></li>  
  23.                      <li><a href="#">短褲</a></li>  
  24.                 </ul>  
  25.          </li>  
  26.          <li><a href="#">聯繫我們</a></li>  
  27.     </ul>  
  28. </div>  
  29. <!--導航結束-->  
1.3導航腳本
[javascript] view plaincopy
  1. //導航效果(兼容IE6)  
  2. $(function(){  
  3.        $("#navigation ul li:has(ul)").hover(function(){  
  4.             $(this).children("ul").stop(true,true).slideDown(400);  
  5.         },function(){  
  6.             $(this).children("ul").stop(true,true).slideUp("fast");  
  7.     });  
  8. })  

    在IE7和FireFox瀏覽器上可以使用僞劣:hover來顯示導航效果,但IE6並不支持除超鏈接之外的元素使用這個僞類,因此使用上述的CSS代碼並不能再IE6下正常運行,解決方法是用腳本來彌補這個不足。

    在兩個動畫效果之前都添加了stop(true,true)方法,這樣做的好處是能把未執行的完的動畫隊列清空,並且將正在執行的動畫跳轉到末狀態。

2、新聞滾動(跑馬燈)


圖1.2 新聞滾動
2.1 新聞滾動樣式
  1. <style type="text/css">  
  2.         /**最新動態 樣式*/  
  3.         .news{width:200px;border:1px solid #AAAAAAmargin:10px;}  
  4.         .scrollNews{width:200px;height:85px;line-height:20px;overflow:hidden;background:#FFFFFF;}  
  5.         h3height:26pxbackground:#3B5998;color:#FFFline-height:26pxtext-indent:6px;}  
  6.         .scrollNews li{height:20pxpadding-left:10px;}  
  7.     </style>  
2.2 新聞滾動HTML
[html] view plaincopy
  1. <!--最新動態開始-->  
  2. <div class="news">  
  3.     <h3>最新動態</h3>  
  4.     <div class="scrollNews" >  
  5.         <ul>  
  6.             <li><a href="#" title="甜美寬鬆毛衣今秋一定紅.">甜美寬鬆毛衣今秋一定紅.</a></li>  
  7.             <li><a href="#" title="秋裝百搭小馬甲不到50元.">秋裝百搭小馬甲不到50元.</a></li>  
  8.             <li><a href="#" title="修身韓版小西裝萬人瘋搶.">修身韓版小西裝萬人瘋搶.</a></li>  
  9.             <li><a href="#" title="夏末雪紡店主含淚大甩賣.">夏末雪紡店主含淚大甩賣.</a></li>  
  10.             <li><a href="#" title="瑞麗都瘋狂推薦的秋裝.">瑞麗都瘋狂推薦的秋裝.</a></li>  
  11.             <li><a href="#" title="48元長款針織小開衫賣瘋啦.">48元長款針織小開衫賣瘋啦.</a></li>  
  12.             <li><a href="#" title="長袖雪紡衫單穿內搭都超美.">長袖雪紡衫單穿內搭都超美.</a></li>  
  13.         </ul>  
  14.     </div>  
  15. </div>  
  16. <!--最新動態結束-->  
2.3新聞滾動腳本
[javascript] view plaincopy
  1. /*新聞滾動*/  
  2. $(function() {  
  3.     var $this = $(".scrollNews");  
  4.     var scrollTimer;  
  5.     $this.hover(function() {  
  6.         clearInterval(scrollTimer);  
  7.     }, function() {  
  8.         scrollTimer = setInterval(function() {  
  9.             scrollNews($this);  
  10.         }, 3000);  
  11.     }).trigger("mouseleave");  
  12. });  
  13. function scrollNews(obj) {  
  14.     var $self = obj.find("ul:first");  
  15.     var lineHeight = $self.find("li:first").height(); //獲取行高  
  16.     $self.animate({ "marginTop": -lineHeight + "px" }, 600, function() {  
  17.         $self.css({ marginTop: 0 }).find("li:first").appendTo($self); //appendTo能直接移動元素  
  18.     })  
  19. }  

3、廣告效果


圖3.1 廣告效果
3.1 廣告效果樣式
  1. <style type="text/css">  
  2.         /*滾動廣告樣式*/  
  3.         .ad {margin:10px;width:586pxheight:150px;overflow:hidden;border:1px solid #AAAAAA;position:relative;}  
  4.         .slider,.num{position:absolute;}  
  5.         .slider li{ list-style:none;display:inline;}  
  6.         .slider img{ width:586pxheight:150px;display:block;}  
  7.         .num{ right:5px; bottom:5px;}  
  8.         .num li{floatleft;color#FF7300;text-aligncenter;line-height16px;width16px;height16px;font-familyArial;font-size12px;cursorpointer;overflowhidden;margin3px 1px;border1px solid #FF7300;background-color#fff;}  
  9.         .num li.on{color#fff;line-height21px;width21px;height21px;font-size16px;margin0 1px;border0;background-color#FF7300;font-weightbold;}  
  10.     </style>  
3.2 廣告效果HTML
[html] view plaincopy
  1. <!--廣告滾動-->  
  2. <div class="ad" >  
  3.      <ul class="slider" >  
  4.         <li><img src="/images/shopping/ads/1.gif" alt="ad1"/></li>  
  5.                 <li><img src="/images/shopping/ads/2.gif" alt="ad2"/></li>  
  6.                 <li><img src="/images/shopping/ads/3.gif" alt="ad3"/></li>  
  7.                 <li><img src="/images/shopping/ads/4.gif" alt="ad4"/></li>  
  8.                 <li><img src="/images/shopping/ads/5.gif" alt="ad5"/></li>  
  9.       </ul>  
  10.       <ul class="num" >  
  11.         <li>1</li>  
  12.         <li>2</li>  
  13.         <li>3</li>  
  14.         <li>4</li>  
  15.         <li>5</li>  
  16.       </ul>  
  17. </div>  
3.3 廣告效果腳本
[javascript] view plaincopy
  1. /*廣告滾動效果*/  
  2. $(function() {  
  3.     var len = $(".num > li").length;  
  4.     var index = 0;  
  5.     var adTimer;  
  6.     $(".num li").mouseover(function() {  
  7.         index = $(".num li").index(this);  
  8.         showImg(index);  
  9.     }).eq(0).mouseover();  
  10.     //滑入 停止動畫,滑出開始動畫.  
  11.     $('.ad').hover(function() {  
  12.         clearInterval(adTimer);  
  13.     }, function() {  
  14.         adTimer = setInterval(function() {  
  15.             showImg(index)  
  16.             index++;  
  17.             if (index == len) { index = 0; }  
  18.         }, 3000);  
  19.     }).trigger("mouseleave");  
  20. })  
  21. // 通過控制top ,來顯示不同的幻燈片  
  22. function showImg(index) {  
  23.     var adHeight = $(".ad").height();  
  24.     $(".slider").stop(truefalse).animate({ top: -adHeight * index }, 1000);   //翻滾效果  
  25.     //$(".slider").css("top", -adHeight * index);     //跳轉效果  
  26.     $(".num li").removeClass("on")  
  27.         .eq(index).addClass("on");  
  28. }  
    首先使用$(".ad").height()方法獲取產品廣告的高度,然後使用animate()方法來達到動畫效果,每個圖片的滾動高度有所不同,可以通過傳入的參數index的值乘以產品廣告的高度來得到。在animate()方法前,使用shop(true,false)方法將未執行完的動畫隊列清空,但不將正在執行的動畫跳轉到末狀態。最後使用$(".num li").removeClass("on").eq(index).addClass("on")來給當前的廣告數字添加高亮樣式。
    現在,當光標在廣告右下角的數字上滑過時,廣告就會有上下翻轉的效果。但如果不去碰它,那麼廣告始終不會動。因此可以使用trigger()方法來觸發。

4、新款上市模塊橫向滾動


圖4.1 新款上市模塊橫向滾動

4.1 新款上市模塊橫向滾動樣式
  1. <style type="text/css">  
  2.         /*新款上市樣式*/  
  3.         .prolist {position:relative;height220px;margin-bottom:10pxoverflow:hiddenborder1px solid #AAAAAA;background:#FFFFFF;border:1px solid #AAAAAA;width586pxmargin:10px;}  
  4.          h3{backgroundnone repeat scroll 0 0 #3B5998;color#FFFFFF;height26px;line-height26px;text-indent6px;}  
  5.         .prolist .prolist_content{position:absolutewidth:1800px;top:26px; left:0px;padding:20px 0 0 8px;}  
  6.         .prolist ul{margin-bottom:10pxfloat:left;height220px;}  
  7.         .prolist ul li { float:left;display:inline;text-align:center;margin-right:22px;  }  
  8.         .prolist ul li span { display:block;overflow:hidden; }  
  9.         .prolist ul li img { display:blockwidth:124pxheight:124pxbackground:#EEEborder:0;}  
  10.         .module_left_right{ position:absolute; top:5px; right:10pxcursor:pointer;}  
  11.     </style>  
4.2 新款上市模塊橫向滾動HTML
[html] view plaincopy
  1. <div class="prolist">  
  2.     <h3>新款上市</h3>  
  3.     <p class="module_left_right"><img id="goLeft" src="/images/shopping/left.gif" alt="左鍵" /><img id="goRight"  src="/images/shopping/right.gif" alt="右鍵" /></p>  
  4.     <div  class="prolist_content">  
  5.         <ul>  
  6.             <li>  
  7.                 <a href="#"><img src="/images/shopping/img_1.jpg" alt="" class="imageOver" /></a><span>免燙高支棉襯衣1</span><span>$120.00</span>  
  8.             </li>  
  9.             <li>  
  10.                 <a href="#"><img src="/images/shopping/img_2.jpg" alt="" /></a><span>免燙斜紋襯衣</span><span>$129.00</span>  
  11.             </li>  
  12.             <li>  
  13.                 <a href="#"><img src="/images/shopping/img_3.jpg" alt="" /></a><span>棉小方格正裝襯衣</span><span>$129.00</span>  
  14.             </li>  
  15.             <li>  
  16.                 <a href="#"><img src="/images/shopping/img_4.jpg" alt="" /></a><span>小米蘭格襯衣藍色</span><span>$129.00</span>  
  17.             </li>  
  18.             <li>  
  19.                 <a href="#"><img src="/images/shopping/img_1.jpg" alt="" /></a><span>免燙高支棉襯衣2</span><span>$120.00</span>  
  20.             </li>  
  21.             <li>  
  22.                 <a href="#"><img src="/images/shopping/img_2.jpg" alt="" /></a><span>免燙斜紋襯衣</span><span>$129.00</span>  
  23.             </li>  
  24.             <li>  
  25.                 <a href="#"><img src="/images/shopping/img_3.jpg" alt="" /></a><span>棉小方格正裝襯衣</span><span>$129.00</span>  
  26.             </li>  
  27.             <li>  
  28.                 <a href="#"><img src="/images/shopping/img_4.jpg" alt="" /></a><span>小米蘭格襯衣藍色</span><span>$129.00</span>  
  29.             </li>  
  30.                 <li>  
  31.                 <a href="#"><img src="/images/shopping/img_1.jpg" alt="" /></a><span>免燙高支棉襯衣3</span><span>$120.00</span>  
  32.             </li>  
  33.             <li>  
  34.                 <a href="#"><img src="/images/shopping/img_2.jpg" alt="" /></a><span>免燙斜紋襯衣</span><span>$129.00</span>  
  35.             </li>  
  36.             <li>  
  37.                 <a href="#"><img src="/images/shopping/img_3.jpg" alt="" /></a><span>棉小方格正裝襯衣</span><span>$129.00</span>  
  38.             </li>  
  39.             <li>  
  40.                 <a href="#"><img src="/images/shopping/img_4.jpg" alt="" /></a><span>小米蘭格襯衣藍色</span><span>$129.00</span>  
  41.             </li>  
  42.         </ul>  
  43.     </div>  
  44. </div>             
4.3 新款上市模塊橫向滾動
[javascript] view plaincopy
  1. /*新款上市模塊橫向滾動*/  
  2. $(function() {  
  3.     var page = 1;  
  4.     var i = 4; //每版放4個圖片  
  5.     var len = $(".prolist_content ul li").length;  
  6.     var page_count = Math.ceil(len / i);   //只要不是整數,就往大的方向取最小的整數  
  7.     var none_unit_width = $(".prolist").width(); //獲取框架內容的寬度,不帶單位  
  8.     var $parent = $(".prolist_content");  
  9.     //向右 按鈕  
  10.     $("#goRight").click(function() {  
  11.         if (!$parent.is(":animated")) {  
  12.             if (page == page_count) {  //已經到最後一個版面了,如果再向後,必須跳轉到第一個版面。  
  13.                 $parent.animate({ left: 0 }, 800); //通過改變left值,跳轉到第一個版面  
  14.                 page = 1;  
  15.             } else {  
  16.                 $parent.animate({ left: '-=' + none_unit_width }, 800);  //通過改變left值,達到每次換一個版面  
  17.                 page++;  
  18.             }  
  19.         }  
  20.     });  
  21.     //往左 按鈕  
  22.     $("#goLeft").click(function() {  
  23.         if (!$parent.is(":animated")) {  
  24.             if (page == 1) {  //已經到第一個版面了,如果再向前,必須跳轉到最後一個版面。  
  25.                 $parent.animate({ left: '-=' + none_unit_width * (page_count - 1) }, 800); //通過改變left值,跳轉到最後一個版面  
  26.                 page = page_count;  
  27.             } else {  
  28.                 $parent.animate({ left: '+=' + none_unit_width }, 800);  //通過改變left值,達到每次換一個版面  
  29.                 page--;  
  30.             }  
  31.         }  
  32.     });  
  33. });  
*注意:公共樣式
  1. body{font12px/1.6em Helvetica,Arial,sans-serif;}  
  2. *{margin:0pxpadding:0px;}  
  3. a{text-decoration:noneoutlinenone;}  
  4. a:hover{text-decoration:underline;}  
  5. ul li{list-style-type:none;}  
  6. .g-cl{clear:both;zoom:1;}  
  7. h1, h2, h3, h4, h5, h6 {font-size1emmargin:0pxpadding:0px;}  
  8. html { overflow:-moz-scrollbars-vertical; } /* 在Firefox下始終顯示滾動條*/  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章