网页图片左右滚动特效实例

190 篇文章 6 订阅


图图:





    很多网站上都有这个单击左右箭头滚动图片的效果;


看下代码:

<!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>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
 <title>jq控制左右箭头滚动图片列表</title>
 <style type="text/css">
    *{ margin:0; padding:0;font-size: 12px;}
    ul{ list-style:none;}
     .slider{ width:960px;border: 1px #708090 solid; padding:10px 20px;height: 130px;margin: 100px auto;position: relative;cursor: pointer;}
     #slider_pic{ width: 840px;margin:0 auto;overflow: hidden;height: 130px;position: relative;}
     .prev,.next{position: absolute;width: 20px;height: 20px;cursor: pointer;top:60px;background-color: #daa520; text-align: center;line-height: 20px;font-weight: bold;color: #fff;}
     .next{right: 20px;}
     .no_click{background-color: #808080;}
     #slider_pic li{float: left;margin-right: 10px;}
     #slider_pic ul{position: absolute;left: 0;}

 </style>
     <script type="text/javascript">
         $(function(){
             var oPic=$('#slider_pic').find('ul');
             var oImg=oPic.find('li');
             var oLen=oImg.length;
             var oLi=oImg.width();
             var prev=$("#prev");
             var next=$("#next");

           oPic.width(oLen*210);//计算总长度
             var iNow=0;
             var iTimer=null;
             prev.click(function(){
                  if(iNow>0){  
                   iNow--;

                  }
                 ClickScroll();
             })
             next.click(function(){
                 if(iNow<oLen-3){ 
                     iNow++
                 }
                 ClickScroll();
             })

             function ClickScroll(){

                 iNow==0? prev.addClass('no_click'): prev.removeClass('no_click');
                 iNow==oLen-3?next.addClass("no_click"):next.removeClass("no_click");

                 oPic.animate({left:-iNow*210})
             }

         })

 
     </script>
 </head>

 <body>
     <div class="slider">
         <span class="prev no_click" id="prev"><<</span>
         <span class="next " id="next">>></span>
       <div id="slider_pic">
         <ul>
            <li><img src="images/tu1.jpg" width="200" height="130" /></li>
            <li><img src="images/tu2.jpg" width="200" height="130" /></li>
            <li><img src="images/tu3.jpg" width="200" height="130" /></li>
            <li><img src="images/tu4.jpg" width="200" height="130" /></li>
            <li><img src="images/tu5.jpg" width="200" height="130" /></li>
            <li><img src="images/tu6.jpg" width="200" height="130" /></li>
            <li><img src="images/tu7.jpg" width="200" height="130" /></li>
            
          </ul>
       </div>

    </div>
 </body>
 </html>

代码说明:

    两层div,内层放ul列表,每个列表项链接一个图片;左右箭头在外层div中,其span标签的id分别为prev和next;
    内层div的css类为slider_pic,外层div的css类为slider;
    .no_click定义滚动到头不可点击的颜色;
    cursor:pointer定义鼠标光标为一只手的形状;


    滚动的基本代码在ClickScroll()函数中,
    oPic.animate({left:-iNow*210})
    调用jquery的animate函数,每点击一下鼠标,增大或减小left属性值;
    如果左端已经滚到头,为prev添加css类'no_click',否则移除该css类;
    右端滚到头,为next添加css类'no_click',否则移除该css类。



  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要实现 Android 类似 launcher 左右滑动的效果,你可以使用 ViewPager 组件。ViewPager 是一个支持滑动翻页的容器组件,你可以在其中放置多个 Fragment 或 View,然后通过手势滑动翻页。 以下是实现该效果的步骤: 1. 在布局文件中添加 ViewPager 组件。 ``` <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 创建 Fragment 或 View,并在 ViewPager 中添加它们。 ``` List<Fragment> fragments = new ArrayList<>(); fragments.add(new Fragment1()); fragments.add(new Fragment2()); fragments.add(new Fragment3()); viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(), fragments)); ``` 3. 创建 PagerAdapter,并实现 getItem() 和 getCount() 方法。 ``` public class MyPagerAdapter extends FragmentPagerAdapter { private List<Fragment> fragments; public MyPagerAdapter(FragmentManager fm, List<Fragment> fragments) { super(fm); this.fragments = fragments; } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } } ``` 4. 在 ViewPager 中添加页面切换监听器,以便在页面切换时更新 UI。 ``` viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { // 页面滑动时的回调 } @Override public void onPageSelected(int position) { // 页面选中时的回调 } @Override public void onPageScrollStateChanged(int state) { // 页面滑动状态变化时的回调 } }); ``` 这样就可以实现 Android 类似 launcher 左右滑动的效果了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值