jQuery实现图片文字无缝滚动效果

你知道 jQuery,你也知道图片滚动的效果,但是你知道啥叫无缝滚动不?无缝滚动,就是无缝的滚动!换句话说,无缝滚动就是,图片或者文字下一张下一张地滚动,当滚动到屁股的时候就看到头了,反过来,当滚动到头的时候又能看到屁股了。还是看 DEMO 吧,或许更好理解一些。如你所见,当作为一排图片展示的时候,无缝滚动可以让人有无尽的感觉,页面一下子就充实了。

因为我也不是刻意去写这个 jQuery 的无缝滚动,所以 JS 也没封装过,只提供了几个基本的参数作修改,只能仅作参考。

 代码如下 复制代码

<!DOCTYPE HTML>
<html lang="en-US">
<head>
 <meta charset="UTF-8">
 <script type="text/javascript" src="jquery.min.js"></script>
 <script type="text/javascript">
 $(function() {
  //配置变量
  var config = {
   showNum : 3, //设置滚动的显示个数
   autoScroll : false, //是否自动滚动,默认为 false
   autoScrollInterval : 3000 //自动滚动间隔,默认为 3000 毫秒,autoScroll = true 时才有效
  }
  
  var scrollUlWidth = $('.scroll_ul li').outerWidth(true), //单个 li 的宽度
   scrollUlLeft = 0, //.scroll_ul 初使化时的 left 值为 0
   prevAllow = true, //为了防止连续点击上一页按钮
   nextAllow = true; //为了防止连续点击下一页按钮
   
  //计算父容量限宽
  $('.scroll_list').width(config.showNum * scrollUlWidth);

  //点击上一页
  $('#prev').click(function() {
   if (prevAllow) {
    prevAllow = false;
    scrollUlLeft = scrollUlLeft - scrollUlWidth;
    $('.scroll_ul').css('left', scrollUlLeft);
    //复制最后一个 li 并插入到 ul 的最前面
    $('.scroll_ul li:last').clone().prependTo('.scroll_ul');
    //删除最后一个 li
    $('.scroll_ul li:last').remove();
    $('.scroll_ul').animate({
     left : scrollUlLeft + scrollUlWidth
    }, 300, function() {
     scrollUlLeft = parseInt($('.scroll_ul').css('left'), 10);
     prevAllow = true;
    })
   }
  });
  
  //点击下一页
  $('#next').click(function() {
   if (nextAllow) {
    nextAllow = false;
    $('.scroll_ul').animate({
     left : scrollUlLeft - scrollUlWidth
    }, 300, function() {
     scrollUlLeft = parseInt($('.scroll_ul').css('left'), 10);
     scrollUlLeft = scrollUlLeft + scrollUlWidth;
     $('.scroll_ul').css('left', scrollUlLeft);
     //复制第一个 li 并插入到 ul 的最后面
     $('.scroll_ul li:first').clone().appendTo('.scroll_ul');
     //删除第一个 li
     $('.scroll_ul li:first').remove();
     nextAllow = true;
    })
   }
  });
  
  //自动滚动
  if (config.autoScroll) {
   setInterval(function() {
    $('#next').trigger('click');
   }, config.autoScrollInterval)
  }
 })
 </script>
 <style type="text/css">
 *{margin:0;padding:0;}
 .scroll_list{overflow:hidden;position:relative;}
 .scroll_ul{width:9999px;position:relative;overflow:hidden;clear:both;*zoom:1;}
 .scroll_ul li{width:100px;height:100px;background:#ccc;margin:5px;line-height:100px;text-align:center;list-style:none;float:left;}
 </style>
 <title>无缝滚动</title>
</head>
<body>
 <div class="scroll_area">
  <div class="scroll_list">
   <ul class="scroll_ul">
    <li>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>
   </ul>
  </div>
  <a id="prev" class="btn_icon" href="javascript:;">上一个</a>
  <a id="next" class="btn_icon" href="javascript:;">下一个</a>
 </div>
</body>
</html>

基本原理和使用方法都写在注释里了,我也就不多作解释了。最后说一句,google、百度上搜一下就知道,已经有大把大把写好的横的竖的无缝的滚动,总有一款适合你,但是我觉得,只有自己亲自写的才最适合自己的需要,所以就有了以上代码。

时间: 2024-10-03 03:04:35

jQuery实现图片文字无缝滚动效果的相关文章

jQuery实现图片文字淡入淡出效果_jquery

本实例主要讲解了jquery仿新浪微博图片文字列表上下淡进淡出间歇上下滚动效果,分享给大家供大家参考,具体内容如下 1.效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2.实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行. 3.

jQuery模拟Marquee实现无缝滚动效果完整实例_jquery

本文实例讲述了jQuery模拟Marquee实现无缝滚动效果.分享给大家供大家参考,具体如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>模拟Marquee无缝滚动</title> <style type="text/css"> /* CSS Document reset */ html, body, di

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.111cn.net/1999/xhtml"> <head> <title>简单实用的无缝滚动效果</ti

基于javascript实现文字无缝滚动效果_javascript技巧

本文实例为大家分享了javascript实现文字无缝滚动的全部代码,供大家参考,具体内容如下 效果图: 实现代码: <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> &

jQuery插件scroll实现无缝滚动效果

  今天给大家分享一款页面无缝滚动的jquery.scroll插件. 支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置,滚动鼠标液动条看下页面的切换效果.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. scroll滚动插件 支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置 默认配置参数可修改 $(".content").easysroll({ //默认配置参数 direct

基于jQuery的图片左右无缝滚动插件_jquery

在线演示:http://demo.jb51.net/js/2012/myslideLeftRight/打包下载:http://www.jb51.net/jiaoben/44973.html核心代码: 复制代码 代码如下: (function($){ $.fn.extend({ "slidelf":function(value){ value = $.extend({ "prev":"", "next":""

jQuery插件scroll实现无缝滚动效果_jquery

scroll滚动插件 支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置 默认配置参数可修改 $(".content").easysroll({ //默认配置参数 direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left numberr: "1", //每一次滚动数量 默认是1 delays:"1000",//完成一次动画所

jquery 实现无间图片文字向上滚动效果

以前我们都是用js来实现图片或文字滚动,今天我们来用jquery做一个实现. /**  * author junru  * create time author  * version 0.1  * rely on: jquery(/share/js/jquery.js) 1.3.2+  * description: used this for cache .  * example :     if(pathname=="/user/test.html"){     init.run 

js图片文字时间间隔滚动效果代码

免费注册为会员后您可以 免费发布供求 企业网上推广 IM在线帮助 服务指南 免费注册会员 下载IG客户端 用户登陆 更多>>精彩企业专题 进入专题 广州市巨和机械专题 进入专题 中联重科企业专题 进入专题 徐工集团专题 c6手机主题下载 三一重工专题