jquery实现marquee效果(文字或者图片的水平垂直滚动)


Posted in Javascript onJanuary 07, 2013

原本在前端html代码中,实现文字或者图片的水平垂直滚定,都是使用的marquee,但随着考虑浏览器的兼容性和符合为w3c的标准,后来想想那还是使用javascript代码来实现。后来又喜欢上了jquery,下面写的内容希望对初学者有些帮助,高手勿喷,但欢迎指导,感激不尽。

原理:无缝滚动的原理,就是利用两个内容相同的容器,来达到欺骗人的视觉的效果。然后通过整个大容器滚动条的左右或者上下的移动来实现滚动。下面附上一张手绘的图,来简要阐述下原理。首先,我们的目的是实现框1中的内容水平向左滚动(向右滚动,上下滚动的原理其实大致是一样的,只要知道其中一种,其他都不是问题。)。那么我们在页面加载的时候就用js动态将框2中的内容(html内容)赋值成和框1的内容一样。然后随着滚动条的渐渐地往右移动,来实现向左的效果。说了这么多。等会就附上代码(配有注释)。
jquery实现marquee效果(文字或者图片的水平垂直滚动) 
1.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>juqery实现marquee的效果</title> 
<script src="jquery-1.4.2.js" type="text/javascript"></script> 
<style type="text/css"> 
#container /*这个是最外面的容器,最关键的一点是将overflow:hidden隐藏起来。*/ 
{ 
width:600px; 
height:80px; 
overflow:hidden; 
} 
#longwidth 
{ 
height:80px; 
width:1000%; /*要足够的大,需要能够把div1和div2的内容都能够装下,不然因为float:left装不下,就会到第二行*/ 
} 
.kuang 
{ 
float:left; 
height:80px; 
} 
</style> 
<script type="text/javascript"> 
$(function () { 
$("#div2").html($("#div1").html()); //将div2的html设置成div1的html 
var mar = function () { 
if ($("#container").scrollLeft() > $("#div1").width()) { //当滚动条隐藏的长度大于div1的宽度 
$("#container").scrollLeft(0); 
} 
else { 
$("#container").scrollLeft($("#container").scrollLeft() + 5); //每次滚动条往右移动1px; 
} 
}; 
var vid = setInterval(mar, 1); 
$("#container").mouseenter(function () { 
clearInterval(vid); 
}).mouseleave(function () { 
vid = setInterval(mar,1); 
}); 
}); 
</script> 
</head> 
<body> 
<!--容器可以使用div,内容中使用ul li,那么框1就是div1,框2就是div2,需要两个div在一行,就需要设置div的float:left属性--> 
<!--当然如果你对于css不是很了解,也可以使用table来实现,用td1和td2来实现。本人对table有种不喜,所以就通过div来做了--> 
<div id="container"> 
<div id="longwidth"> 
<div id="div1" class="kuang"> 
<img src="04.jpg" width="120px" height="80px" /> 
<img src="04.jpg" width="120px" height="80px" /> 
<img src="04.jpg" width="120px" height="80px" /> 
<img src="04.jpg" width="120px" height="80px" /> 
<img src="04.jpg" width="120px" height="80px" /> 
<img src="04.jpg" width="120px" height="80px" /> 
<img src="04.jpg" width="120px" height="80px" /> 
</div> 
<div id="div2" class="kuang"></div> 
</div> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript获得选中文本内容的方法
Dec 02 Javascript
THREE.JS入门教程(3)着色器-下
Jan 24 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
AngularJS快速入门
Apr 02 Javascript
js实现仿阿里巴巴城市选择框效果实例
Jun 24 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
js数组操作方法总结(必看篇)
Nov 22 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
vue加载完成后的回调函数方法
Sep 07 Javascript
ES6 Object方法扩展的应用实例分析
Jun 25 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 Javascript
jQuery 筛选器简单操作示例
Oct 02 jQuery
jquery乱码与contentType属性设置问题解决方案
Jan 07 #Javascript
jQuery插件开发基础简单介绍
Jan 07 #Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 #Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 #Javascript
jquery入门—访问DOM对象方法
Jan 07 #Javascript
jQuery.clean使用方法及思路分析
Jan 07 #Javascript
js获取height和width的方法说明
Jan 06 #Javascript
You might like
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
php数组分页实现方法
2016/04/30 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
详解爬虫被封的问题
2019/04/23 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
经管应届生求职信
2013/11/17 职场文书
采购主管的岗位职责
2013/12/17 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
教师党员公开承诺书
2014/03/25 职场文书
安全生产专项整治方案
2014/05/06 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
Python开发五子棋小游戏
2022/05/02 Python