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 相关文章推荐
VBScript版代码高亮
Jun 26 Javascript
JavaScript XML操作 封装类
Jul 01 Javascript
利用jQuery操作对象数组的实现代码
Apr 27 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
Apr 27 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
基于JavaScript实现的插入排序算法分析
Apr 14 Javascript
基于javascript中的typeof和类型判断(详解)
Oct 27 Javascript
vue视频播放插件vue-video-player的具体使用方法
Nov 08 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
jquery实现拖拽小方块效果
Dec 10 jQuery
Js类的构建与继承案例详解
Sep 15 Javascript
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
一道关于php变量引用的面试题
2010/08/08 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
Python压缩和解压缩zip文件
2015/02/14 Python
浅谈Python中的数据类型
2015/05/05 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
教师实习自我鉴定
2013/12/11 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
法定授权委托证明书
2014/09/27 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
欠款起诉书范文
2015/05/19 职场文书
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python