zoukankan      html  css  js  c++  java
  • jquery实现图片左右滑动。

    看看线上效果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可控制。

  • 相关阅读:
    php 验证码生成方法 及使用
    idea的jar文件,“java.lang.SecurityException: Invalid signature file digest for Manifest main attribute
    Ubuntu下Java JDK安装
    Ubuntu 忘记密码
    为 ubuntu 切换更新源
    使用Java开发桌面即时通讯程序遇到的问题
    MySQL 1093
    Java中命名Dao、Bean、conn等包的含义(不定期补充)
    通过导入Jar包的方式使用JSONObject
    IM开发通信协议基础知识(一)---TCP、UDP、HTTP、SOCKET
  • 原文地址:https://www.cnblogs.com/huanhuan8808/p/3248854.html
Copyright © 2011-2022 走看看