html中怎么在图片上添加滚动文字效果,jquery实现marquee效果(文字或者图片的水平垂直滚动)...

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

原理:无缝滚动的原理,就是利用两个内容相同的容器,来达到欺骗人的视觉的效果。然后通过整个大容器滚动条的左右或者上下的移动来实现滚动。下面附上一张手绘的图,来简要阐述下原理。首先,我们的目的是实现框1中的内容水平向左滚动(向右滚动,上下滚动的原理其实大致是一样的,只要知道其中一种,其他都不是问题。)。那么我们在页面加载的时候就用js动态将框2中的内容(html内容)赋值成和框1的内容一样。然后随着滚动条的渐渐地往右移动,来实现向左的效果。说了这么多。等会就附上代码(配有注释)。

a8a4956eac5ac97b3a2a38adc427d4fe.png 

1.html代码

juqery实现marquee的效果

#container /*这个是最外面的容器,最关键的一点是将overflow:hidden隐藏起来。*/

{

width:600px;

height:80px;

overflow:hidden;

}

#longwidth

{

height:80px;

width:1000%; /*要足够的大,需要能够把div1和div2的内容都能够装下,不然因为float:left装不下,就会到第二行*/

}

.kuang

{

float:left;

height:80px;

}

$(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);

});

});

04.jpg

04.jpg

04.jpg

04.jpg

04.jpg

04.jpg

04.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值