jquery实现拖动效果
840
2024-02-22

很多网站都有公告,并且都喜欢用横向滚动的方式来展现。最近自己用jQuery也写了文字横向滚动,实现了自定义滚动速度,鼠标经过时暂停的功能。
HTML代码如下:
<div id="s" style="width:100px; position:relative; white-space:nowrap; overflow:hidden; height:20px;"> <div id="noticeList" style="position:absolute; top:0; height:20px;"><span>jQuery文字横向滚动</span><span>jQuery制作文字横向滚动</span><span>www.gimoo.net</span></div> </div>
JS代码:
方法一:
$.fn.textScroll=function(){
var speed=60,flag=null,tt,that=$(this),child=that.children();
var p_w=that.width(), w=child.width();
child.css({left:p_w});
var t=(w+p_w)/speed * 1000;
function play(m){
var tm= m==undefined ? t : m;
child.animate({left:-w},tm,"linear",function(){
$(this).css("left",p_w);
play();
});
}
child.on({
mouseenter:function(){
var l=$(this).position().left;
$(this).stop();
tt=(-(-w-l)/speed)*1000;
},
mouseleave:function(){
play(tt);
tt=undefined;
}
});
play();
}
方法二:
$.fn.textScroll=functioon(){
var p = $(this),
c = p.children(),
speed=3000;// 值越大,速度越小
var cw = c.width(),pw=p.width();
var t = (cw / 100) * speed;
var f = null, t1 = 0;
function ani(tm) {
counttime();
c.animate({ left: -cw }, tm, "linear", function () {
c.css({ left: pw });
clearInterval(f);
t1 = 0;
t=((cw+pw)/100)*speed;
ani(t);
});
}
function counttime() {
f = setInterval(function () {
t1 += 10;
}, 10);
}
p.on({
mouseenter: function () {
c.stop(false, false);
clearInterval(f);
console.log(t1);
},
mouseleave: function () {
ani(t - t1);
console.log(t1);
}
});
ani(t);
}
最后调用$("#s").textScroll();
以上这篇jQuery文字横向滚动效果的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持绿夏网。
#免责声明#
本站[绿夏技术导航]提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序或内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件[admin@lxwl520.com]与我们联系进行删除处理。敬请谅解!