`

Jquery实现滚动效果(修改版)

 
阅读更多

       在页面中,当我们ul中li的数量过多时,我们需要利用滚动效果将内容在一个特定大小的滚动显示出来。在网络上有一个实现滚动效果的代码。

(function($){  
    var status = false;  
    $.fn.scrollQ = function(options){  
        var defaults = {  
        	//div中显示的条数
            line:4,     
            //每次滚动的条数
            scrollNum:1, 
            scrollTime:1000
        }
		var options=jQuery.extend(defaults,options);
		var _self = this;
		return this.each(function(){

                        //这里就是修改的部分-------------------
			//当ul中li的条数少于显示的条数(line)时,就不进行滚动,否则li就会在滚动后消失。
			temp = document.getElementById('sItem');
			lis = temp.getElementsByTagName('li');
			if(lis.length<defaults.line){
				// alert(lis.length); //显示li元素的个数
				return;
			}
			//直到这里---------------------------
			$("li",this).each(function(){
				$(this).css("display","none");
			})
			$("li:lt("+options.line+")",this).each(function(){
				$(this).css("display","block");
			})
			function scroll() {
				for(i=0;i<options.scrollNum;i++) {
					var start=$("li:first",_self);
					start.fadeOut(100);
					start.css("display","none");
					start.appendTo(_self);
					$("li:eq("+(options.line-1)+")",_self).each(function(){
						$(this).fadeIn(500);
						$(this).css("display","block");
					})
				}
			}
			var timer;
			timer = setInterval(scroll,options.scrollTime);
			_self.bind("mouseover",function(){
				clearInterval(timer);
			});
			_self.bind("mouseout",function(){
				timer = setInterval(scroll,options.scrollTime);
			});
			
		});
    }
})(jQuery);

   方法中line代表的便是在每次显示li的条数,当我们内容所包含的li数量小于line时,js会把下面空的li循环滚动到上一层,导致在循环过后所有的li都为空,所以我在这里加上一个判断,当我们内容所包含的li长度小于line时便不进行滚动,因为所有的内容都已显示。

下面是html代码

 

<!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>
<TITLE>test</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="scrollQ.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("#sItem").scrollQ();
});
</script>
</head>
    <body>
    <div>
    <ul id="sItem">
    <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>
    <li>标题10</li>
    </ul>
    </div>
</body>
</html>

 

分享到:
评论

相关推荐

    jQuery实现模拟滚动条插件版

    4. 兼容性:好的jQuery滚动条插件会考虑浏览器兼容性,确保在多种浏览器环境下都能正常工作,包括较旧版本的Internet Explorer。 5. 可扩展性:插件应提供API供其他JavaScript代码扩展或自定义,以满足更复杂的需求...

    jquery上下滚动插件

    **jQuery上下滚动插件**是一种常用的前端开发工具,主要用于实现网页元素(如`&lt;li&gt;`列表项)的平滑上下滚动效果。这种效果在展示新闻、公告或产品列表时非常常见,可以为用户带来动态浏览体验,提升网站的互动性和...

    jquery实现的滚动效果 渐变导航特效.rar

    本项目"jquery实现的滚动效果 渐变导航特效.rar"就是利用jQuery来实现一种独特且吸引人的导航菜单效果。 这个特效主要包含两个核心部分:滚动效果和渐变导航。滚动效果通常指的是当用户滚动页面时,页面元素根据...

    jQuery仿淘宝图片滚动效果

    在本文中,我们将深入探讨如何使用jQuery来实现一个仿淘宝图片滚动效果,这是一种常见的网页动态展示技术,可以提升用户体验,使网站更具吸引力。首先,我们需要理解jQuery库的基础知识,它是JavaScript的一个轻量级...

    jQuery实现带控制按钮的图片滚动特效(可多个)

    "jQuery实现带控制按钮的图片滚动特效(可多个)"是一个常见的交互设计实践,它利用jQuery库的强大功能,为用户提供了一种流畅且可控制的图片展示方式。jQuery是一个轻量级、高性能的JavaScript库,简化了DOM操作、...

    Jquery横向滚动日历基于swiper

    【jQuery横向滚动日历基于Swiper】是一种创新的网页元素设计,它将传统的日历视图与现代的触摸滑动效果相结合,为用户提供了一种新颖的交互方式。Swiper是一款强大的触摸滑动库,尤其适合在移动设备上实现流畅的滑动...

    Jquery Validate修改版

    《jQuery Validate修改版:提升表单验证体验》 在网页开发中,用户输入的验证是不可或缺的一环,它能够确保用户提交的数据符合预期,避免无效数据的产生,从而提高用户体验和服务器端处理效率。jQuery Validate插件...

    jQuery三维倾斜的滚动效果

    在这个场景中,`jquery.tiltedpage-scroll.js` 和 `jquery.tiltedpage-scroll.min.js` 是实现三维倾斜滚动效果的核心文件。`.js` 文件是原始版本,便于调试和理解代码;`.min.js` 文件则是经过压缩和优化后的版本,...

    [荐]jquery仿flash漂亮横向图片滚动效果完整版(兼容性非常好).rar

    本资源 "[荐]jquery仿flash漂亮横向图片滚动效果完整版(兼容性非常好).rar" 提供了一个使用jQuery实现的、具有Flash风格的横向图片滚动效果。这种效果可以为网站增添动态视觉吸引力,同时由于基于jQuery,所以具备...

    jquery动态画廊滚动效果.zip

    这个“jquery动态画廊滚动效果.zip”文件显然包含了一个使用jQuery实现的动态画廊滚动效果的示例代码。下面将详细探讨相关知识点。 1. **jQuery库**:jQuery是由John Resig在2006年创建的,它的目标是使JavaScript...

    jQuery横向滚动内容插件Sly

    2. **初始化设置**:在页面元素加载完毕后,通过jQuery选择器找到需要实现滚动效果的容器,并调用`.sly()`方法进行初始化。例如: ```javascript $('#scrollContainer').sly({ horizontal: 1, // 设置为水平滚动 ...

    jquery 插件之 floattextbox 修改版

    总的来说,jQuery插件"floattextbox"修改版是一个优化了用户体验的输入组件,它结合了浮层效果和字符计数提示,使得在网页上进行文本输入变得更加便捷和直观。开发者可以通过研究其源码,学习如何使用jQuery和...

    jQuery滚动菜单插件Section Menu

    Section Menu插件利用jQuery的动画功能实现平滑的页面滚动效果。当用户点击菜单项时,页面会通过`animate()`方法平滑滚动到对应的页面部分。同时,插件还提供了事件监听,你可以添加自定义的回调函数,以便在菜单项...

    EasySlider 图片滚动的JQuery插件的修改版.zip

    【标题】"EasySlider 图片滚动的JQuery插件的修改版" 是一个基于JavaScript库JQuery的图片轮播插件的定制版本。这个插件主要用于实现网页中的动态图片展示,通常用于产品展示、新闻滚动或者任何需要多图切换的场景。...

    jquery实现宽屏图文列表滚动特效源码.zip

    【标题】"jquery实现宽屏图文列表滚动特效源码.zip" 涉及的主要知识点是使用JavaScript库jQuery来创建一种视觉效果,即宽屏图文列表的动态滚动效果。这种特效通常用于网站的首页或者产品展示区域,以吸引用户的注意...

    jQuery页面楼层滚动显示进度代码.zip

    在网页设计中,用户体验往往是一个关键的考量因素,其中页面滚动效果是提升用户交互体验的一种常见方式。"jQuery页面楼层滚动显示进度代码"是一个利用jQuery库实现的特效,旨在为用户提供更加直观的浏览导航。这个...

    jquery滚动条美化插件

    **jQuery滚动条美化插件详解** 在网页设计中,滚动条虽然通常是被忽视的一部分,但它的外观和用户体验息息相关。一个精致的滚动条可以提升整个页面的质感,使用户在浏览时更加舒适。"jQuery滚动条美化插件"就是这样...

    给力的jquery滚动条插件

    标题中的“给力的jquery滚动条插件”指的是一个基于jQuery库的滚动条增强插件,这类插件通常用于替换浏览器默认的滚动条样式,提供更美观、可自定义的滚动交互体验。在网页设计中,滚动条是用户浏览长内容时不可或缺...

    jquery标签左右滚动内容

    6. **动画效果**:jQuery的动画功能强大,可以使用`animate()`方法实现标签的平滑滚动效果。需要考虑如何处理边界情况,例如,当用户试图向左滚动已经是最左边的标签,或者向右滚动已经是最右边的标签时。 7. **...

    jquery css3网页背景视差滚动效果代码

    在这个项目中,jQuery用于监听滚动事件,根据滚动位置动态调整背景元素的位置,实现视差滚动效果。 CSS3是 Cascading Style Sheets 的第三个版本,引入了许多新的特性和功能,如选择器增强、动画、转换、渐变、阴影...

Global site tag (gtag.js) - Google Analytics