看看线上效果http://stopic.okhqb.com/guohuo.html?ad=gcsj

使用jquery去做一个图片左右滑动的效果,

首先,我们要考虑一下几点:

1.处理向前的按钮;

2.处理向后的按钮;

3.处理,向前和向后出现临界值的情况;

4.处理每次滑动的width;

5.滑动的时候鼠标效果的切换;

6.页面中有多个滑动效果怎么办?

实现第一步,写好html

     <!--S cnt_goods2-->
        <div class="cnt_goods cnt_goods2 fl">
            <img src="http://resource.okhqb.com/misc/spguohuo/images/cnt_tt_bg3.jpg" />            
            <div class="cnt_goods_wrap cfix picSilde_style2_1">
                <div class="tetui_pro fl">
          <a href="http://www.okhqb.com/item/1000097403.html" title="A199" target="_blank"><img src="http://resource.okhqb.com/activity/16/24/162415d0b442ce8346acabafeabc04a5.jpg" alt="A199" /></a>
        </div>
                <div class="cnt_goods_box w794">
                    <ul class="cnt_goods_list  fl cfix cnt_border" >                       
                        <li class="cnt_goods_item">
                            <div class="list_item">
                                <div class="pro_img">
                                    <a href="http://www.okhqb.com/item/1000096799.html" title="ZTE/中兴 N818" target="_blank">
                                        <img src="http://resource.okhqb.com/thumbs/product/64/08/640839c73d0c0dfcfcc2173a951e8d5e.170.jpg" />                                        
                                    </a>
                                </div>
                             <div class="zeng_box">
                                    <span class="zeng_icon"></span>                               
                      <div class="zeng_wrap r45">                                                                        
                                        <ul class="zeng_list cfix fl">
                                             <li class="zeng_list_item">
                                                <a class="zeng_pro_img" href="javascript:void(0);" target="_blank"><img src="http://resource.okhqb.com/thumbs/product/be/55/be55ea5e4be4915389f4175ee0c5a5d0.24.jpg" /></a>
                                                <a class="zeng_pro_tt" href="javascript:void(0);" target="_blank">亮洁 LJ-W2 30片装 迷你清洁湿巾…</a>
                                                <span class="zeng_danjia">¥10</span>
                                                <span> X1</span>
                                            </li>                                           
                                        </ul>
                                        <div class="guohuo_icon zeng_arrow fl"></div>
                                      </div>   
                                 </div>
                          <div class="maidian">
                                    <span class="maidian_01" index="maidian_01"><img src="http://resource.okhqb.com/misc/spguohuo/images/maidian_01.jpg" /></span>
                                    <span class="maidian_02" index="maidian_02"><img src="http://resource.okhqb.com/misc/spguohuo/images/maidian_02.jpg" /></span>
                                    <span class="maidian_03" index="maidian_03"><img src="http://resource.okhqb.com/misc/spguohuo/images/maidian_03.jpg" /></span>
                                    <span class="maidian_04" index="maidian_04"><img src="http://resource.okhqb.com/misc/spguohuo/images/maidian_04.jpg" /></span>
                                    <p class="maidian_01 maidian_font">屏幕尺寸:4.5英寸</p>
                                    <p class="maidian_02 maidian_font">处理器:四核1.2GHz</p>
                                    <p class="maidian_03 maidian_font">摄像头像素:30万+500万</p>
                                    <p class="maidian_04 maidian_font">网络制式:电信3G</p>                                 
                                </div>
                                <div class="pro_info">
                                    <p class="pro_tt"><a href="http://www.okhqb.com/item/1000096799.html" title="ZTE/中兴 N818" target="_blank">ZTE/中兴 N818<span> 四核1.2GHz处理器,4.5英寸 500万摄像头</span></a></p>
                                    <p class="yuanjia">原价:¥<span>999</span></p>
                                    <div class="ok_pri"><div class="pingjia fr"><a href="http://www.okhqb.com/item/1000096799.html#menu_tab2" target="_blank">已评论:276条</a></div>¥ <span>780</span> </div>                            
                                </div>
                            </div>
                       <div class="ftr_icon f_tj"></div>
                         </li>                       
                    </ul>
                 </div>               
                 <div class="" style="clear:both"></div>
                 <div class="pre"><a href="javascript:void(0);"></a></div><div class="next"><a href="javascript:void(0);"></a></div>
                 
            </div>
        </div>
        <!--E cnt_goods2--> 

 

 

 2详细讲解下js

2.1向前按钮的处理

$(_next).click(function(){
var cnt_goods_box = $(this).siblings(".cnt_goods_box");
var cnt_goods_list = cnt_goods_box.find(".cnt_goods_list");
var cgb_width = cnt_goods_box.width();
var page_temp =  parseInt((cnt_goods_list.find("li.cnt_goods_item").length)/i ) ;		
var remainder  = (cnt_goods_list.find("li.cnt_goods_item").length)%i;//li标签的长度对于页面个数求余,判断页面数量是否加1
var page_count;//页面的总数
if( remainder == 0 ){
	page_count = page_temp;	
}else{
	page_count = page_temp + 1;	
}
//判断向前按钮是否可以点击	
if( $(this).siblings(".pre").find("a").hasClass("pre_unable")){
	$(this).siblings(".pre").find("a").removeClass("pre_unable");
}
				
if( !cnt_goods_list.is(":animated") ){
   if(page == page_count){	
   $(this).find("a").addClass("next_unable");//如果如何现在已经是最后一页,将对向后标签变成不可点击状态
}else{	
//在小于页面总量时,点击进行滑动 cnt_goods_list.animate({left:'-='+cgb_width},'slow'); page++; } } });

 2.3 向后按钮的处理

基本思想一致

就在滑动时候不同

if( !cnt_goods_list.is(":animated") ){
       if(page == page_count){	
	$(this).find("a").addClass("next_unable");
             }else{			   
               cnt_goods_list.animate({left:'-='+cgb_width},'slow');
               page++;			 
 } }		

 

 2.4如何在页面中实现多个调用呢

$(document).ready(function(e) {	
	$.focus(".picSilde_style1","4");//i为每页的产品个数,
	$.focus(".picSilde_style6","5");
	$.focus(".picSilde_style7","5");
	$.focus(".picSilde_style2","1");
});

 页面多个调用 ,写成函数调用,但是在传dom节点的时候,注意 要以不同的class调用, 不然会出现page参数混乱的情况,

2.5.处理每次滑动的width;

//每次滑动的width  var cgb_width = cnt_goods_box.width();

总结:这次在这个运用中,实现函数调用,滑动的width可控制。

 

 

 

posted on 2013-08-09 18:07  huanhuan8808  阅读(2414)  评论(0编辑  收藏  举报