亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery不間斷滾動效果(模擬百度新聞支持文字/圖片/垂直滾動)

2019-11-20 23:00:26
字體:
來源:轉載
供稿:網友
一、jQuery.roll 插件使用說明
jQuery.roll 是模擬百度新聞不間斷滾動效果,并支持文字、圖片水平垂直滾動,該函數使用方法為:
復制代碼 代碼如下:

/*
* @module jQuery roll
* @param: contentCls 內容容器className
* @param: contentParentId 內容容器父元素節點ID
* @param: configs 配置參數
*
* @config: effect 滾動效果
* @config: duration 滾動1個像素的運行時間(毫秒數)
* @config: delay 開始滾動的延遲時間(毫秒數)
*
*/
jQuery.roll(contentCls, contentParentId, configs);

二、函數源碼
復制代碼 代碼如下:

jQuery.extend({
roll: function(contentCls, contentParentId, configs){
var setTimeID, totalWidth = 0, totalHeight = 0,
firstContent, secondContent, contents;
(function(){
var singleContent, cloneContent, nodeList;
singleContent = $(contentCls, contentParentId);
nodeList = singleContent.children();
if (configs.effect === 'scrollX') {
$.each(nodeList, function(idx, itm) {
totalWidth += $(itm).outerWidth(true);
});
singleContent.css({ 'width': totalWidth + 'px' });
}
else if (configs.effect === 'scrollY') {
$.each(nodeList, function(idx, itm) {
totalHeight += $(itm).outerHeight(true);
});
singleContent.css({ 'height': totalHeight + 'px' });
}
cloneContent = singleContent.clone();
cloneContent.appendTo(contentParentId);
contents = $(contentCls, contentParentId);
firstContent = contents[0];
secondContent = contents[1];
if (configs.effect === 'scrollX') {
$(firstContent).css({ 'left': 0 });
$(secondContent).css({ 'left': totalWidth + 'px' });
}
else if (configs.effect === 'scrollY') {
$(firstContent).css({ 'top': 0 });
$(secondContent).css({ 'top': totalHeight + 'px' });
}
})()
function cssAnimate(){
if (configs.effect === 'scrollX') {
$(firstContent).css({ left: parseInt(firstContent.style.left, 10) - 1 + 'px' });
$(secondContent).css({ left: parseInt(secondContent.style.left, 10) - 1 + 'px' });
$.each(contents, function(idx, itm) {
if (parseInt(itm.style.left,10) === -totalWidth) {
$(itm).css({ left: totalWidth + 'px' });
}
});
}
else if (configs.effect === 'scrollY') {
$(firstContent).css({ top: parseInt(firstContent.style.top, 10) - 1 + 'px' });
$(secondContent).css({ top: parseInt(secondContent.style.top, 10) - 1 + 'px' });
$.each(contents, function(idx, itm) {
if (parseInt(itm.style.top,10) === -totalHeight) {
$(itm).css({ top: totalHeight + 'px' });
}
});
}
setTimeId = setTimeout(cssAnimate, configs.duration);
}
function rollRun(){
setTimeId = setTimeout(cssAnimate, configs.delay);
return jQuery;
}
function rollStop(){
clearTimeout(setTimeId);
return jQuery;
}
return $.extend({
rollRun: rollRun,
rollStop: rollStop
});
}
});

三、完整demo源碼
例3.1
復制代碼 代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="jQuery實現無間隙滾動效果">
<title>jQuery demo</title>
<style>
body { font: 12px/1.5 tahoma,"microsoft yahei","微軟雅黑E/8F6F/96C5/9ED1"; }
body, div, ul, li, h1 { margin: 0; padding: 0; }
.news { margin: 100px 0 0 100px; }
.news ul { list-style: none; }
.news-box { width: 600px; margin-left: 20px; height: 24px; background-color: #fcfcfd; overflow: hidden; position: relative; _zoom: 1; }
.news h1 { margin-bottom: 15px; padding-left: 20px; color: #370188; }
.news-list { position: absolute; }
.news-list { float: left; }
.news-list li { float: left; _display: inline; margin-right: 15px; height: 24px; line-height: 24px; overflow: hidden; word-wrap: normal; }
.news-list li a { text-decoration: none; color: #000; }
.news-list li a:hover {
-webkit-transition: color .2s linear,background-color .3s linear;
-moz-transition: color .2s linear,background-color .3s linear;
-ms-transition: color .2s linear,background-color .3s linear;
-o-transition: color .2s linear,background-color .3s linear;
transition: color .2s linear,background-color .3s linear;
color: #FF4400;
text-decoration: underline;
}
.news-list li a:visited { color: #290065; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="J_news" class="news">
<h1>文字列表滾動</h1>
<div id="J_Roll_Container" class="news-box">
<ul class="J_Roll_Content news-list">
<li><a target="_blank">日方否認將對中國巡航釣魚島飛機</a></li>
<li><a target="_blank">日本防衛省否認將對中國飛機警告射擊(圖)</a></li>
<li><a target="_blank">日否認警告射擊中海監飛機 恐中日因奪島開戰</a></li>
</ul>
</div>
</div>
<script>
// 這里引用jQuery.roll代碼
</script>
<script>
$(function(){
var roll_jQuery, contents;
roll_jQuery = $.roll('.J_Roll_Content', '#J_Roll_Container', { effect: 'scrollX', duration: 40, delay: 500 }).rollRun();
contents = $('.J_Roll_Content');
contents.bind('mouseenter', function(){
roll_jQuery.rollStop();
});
contents.bind('mouseleave', function(){
roll_jQuery.rollRun();
});
});
</script>
</body>
</html>

例3.2
復制代碼 代碼如下:

View Code
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="jQuery實現無間隙滾動效果">
<title>jQuery demo</title>
<style>
body { font: 12px/1.5 tahoma, "microsoft yahei", "微軟雅黑E/8F6F/96C5/9ED1"; }
body, div, ul, li, h1 { margin: 0; padding: 0; }
.news { margin: 100px 0 0 100px; }
.news ul { list-style: none; }
.news-box { padding: 20px; width: 310px; height: 192px; background-color: #fcfcfd; overflow: hidden; position: relative; }
.news h1 { margin-bottom: 15px; padding-left: 20px; color: #370188; }
.news-list { position: absolute; }
.news-list li { width: 100%; height: 24px; line-height: 24px; overflow: hidden; word-wrap: normal; }
.news-list li a { text-decoration: none; color: #000; }
.news-list li a:hover {
-webkit-transition: color .2s linear, background-color .3s linear;
-moz-transition: color .2s linear, background-color .3s linear;
-ms-transition: color .2s linear, background-color .3s linear;
-o-transition: color .2s linear, background-color .3s linear;
transition: color .2s linear, background-color .3s linear;
color: #FF4400;
text-decoration: underline;
}
.news-list li a:visited { color: #290065; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="J_news" class="news">
<h1>文字列表滾動</h1>
<div id="J_Roll_Container" class="news-box">
<ul class="J_Roll_Content news-list">
<li><a target="_blank">在澳中國留學生涉嫌接送非法色情業者賺外快被罰</a></li>
<li><a target="_blank">印度北部等今冬遭遇極寒天氣 已致數百人被凍死</a></li>
<li><a target="_blank">意大利警方禁止掛中國紅燈籠 被指危險引燃物</a></li>
<li><a target="_blank">日方否認將對中國巡航釣魚島飛機</a></li>
<li><a target="_blank">日本防衛省否認將對中國飛機警告射擊(圖)</a></li>
<li><a target="_blank">日否認警告射擊中海監飛機 恐中日因奪島開戰</a></li>
<li><a target="_blank">傳解放軍舉行長白山軍演</a></li>
<li><a target="_blank">中國高新6號反潛機問世 反潛艇性能優于美軍P-3C</a></li>
<li><a target="_blank">張建剛:2030年中國將圓海洋強國夢</a></li>
<li><a target="_blank">運-20現身試飛中心 可取代伊爾-76任何功能</a></li>
<li><a target="_blank">東海艦隊引入大批無人機 飽和攻擊讓日難以招架</a></li>
</ul>
</div>
</div>
<script>
jQuery.extend({
roll: function(contentCls, contentParentId, configs){
var setTimeID, totalWidth = 0, totalHeight = 0,
firstContent, secondContent, contents;
(function(){
var singleContent, cloneContent, nodeList;
singleContent = $(contentCls, contentParentId);
nodeList = singleContent.children();
if (configs.effect === 'scrollX') {
$.each(nodeList, function(idx, itm) {
totalWidth += $(itm).outerWidth(true);
});
singleContent.css({ 'width': totalWidth + 'px' });
}
else if (configs.effect === 'scrollY') {
$.each(nodeList, function(idx, itm) {
totalHeight += $(itm).outerHeight(true);
});
singleContent.css({ 'height': totalHeight + 'px' });
}
cloneContent = singleContent.clone();
cloneContent.appendTo(contentParentId);
contents = $(contentCls, contentParentId);
firstContent = contents[0];
secondContent = contents[1];
if (configs.effect === 'scrollX') {
$(firstContent).css({ 'left': 0 });
$(secondContent).css({ 'left': totalWidth + 'px' });
}
else if (configs.effect === 'scrollY') {
$(firstContent).css({ 'top': 0 });
$(secondContent).css({ 'top': totalHeight + 'px' });
}
})()
function cssAnimate(){
if (configs.effect === 'scrollX') {
$(firstContent).css({ left: parseInt(firstContent.style.left, 10) - 1 + 'px' });
$(secondContent).css({ left: parseInt(secondContent.style.left, 10) - 1 + 'px' });
$.each(contents, function(idx, itm) {
if (parseInt(itm.style.left,10) === -totalWidth) {
$(itm).css({ left: totalWidth + 'px' });
}
});
}
else if (configs.effect === 'scrollY') {
$(firstContent).css({ top: parseInt(firstContent.style.top, 10) - 1 + 'px' });
$(secondContent).css({ top: parseInt(secondContent.style.top, 10) - 1 + 'px' });
$.each(contents, function(idx, itm) {
if (parseInt(itm.style.top,10) === -totalHeight) {
$(itm).css({ top: totalHeight + 'px' });
}
});
}
setTimeId = setTimeout(cssAnimate, configs.duration);
}
function rollRun(){
setTimeId = setTimeout(cssAnimate, configs.delay);
return jQuery;
}
function rollStop(){
clearTimeout(setTimeId);
return jQuery;
}
return $.extend({
rollRun: rollRun,
rollStop: rollStop
});
}
});
</script>
<script>
$(function(){
var roll_jQuery, contents;
roll_jQuery = $.roll('.J_Roll_Content', '#J_Roll_Container', { effect: 'scrollY', duration: 40, delay: 500 }).rollRun();
contents = $('.J_Roll_Content');
contents.bind('mouseenter', function(){
roll_jQuery.rollStop();
});
contents.bind('mouseleave', function(){
roll_jQuery.rollRun();
});
});
</script>
</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av色在线| 成人黄在线观看| 狠狠做深爱婷婷久久综合一区| 美女啪啪无遮挡免费久久网站| 深夜成人在线观看| 国产精品一区久久| 久久精品99久久久香蕉| 国产精品美女在线| 国产一区红桃视频| 91九色国产社区在线观看| 欧美黄色片在线观看| 欧美交受高潮1| 51视频国产精品一区二区| 久久久久国色av免费观看性色| 日韩精品在线免费| 欧美最近摘花xxxx摘花| 精品国产欧美成人夜夜嗨| 国产精品99久久99久久久二8| 国产免费亚洲高清| 久久久久久久久久久免费| 久久av资源网站| 中文字幕亚洲精品| 亚洲国产精品大全| 国产欧美一区二区三区在线看| 成人免费视频在线观看超级碰| 国产精品黄视频| 国产精品青青在线观看爽香蕉| 国产成人免费av电影| 国产日韩欧美夫妻视频在线观看| 久久久久久亚洲精品不卡| 超碰97人人做人人爱少妇| 韩国19禁主播vip福利视频| 国内精品久久久久久影视8| 国产欧美日韩综合精品| 4k岛国日韩精品**专区| 欧美香蕉大胸在线视频观看| 久久久久中文字幕| 26uuu国产精品视频| 欧美极品少妇xxxxⅹ裸体艺术| 91精品综合视频| 精品无人区乱码1区2区3区在线| 亚洲日本中文字幕| 亚洲精品国偷自产在线99热| 久久九九亚洲综合| 欧美成人在线免费视频| 日韩亚洲在线观看| 亚洲美女喷白浆| 亚洲亚裔videos黑人hd| 国产精品国产福利国产秒拍| 成人444kkkk在线观看| 亚洲欧美在线免费观看| 亚洲精品www久久久久久广东| 欧美日韩亚洲网| 不卡毛片在线看| 日本不卡免费高清视频| 亚洲精品www久久久久久广东| 中文字幕亚洲综合久久筱田步美| 岛国精品视频在线播放| 在线视频中文亚洲| 亚洲电影免费观看高清| 欧美最顶级丰满的aⅴ艳星| 亚洲va久久久噜噜噜久久天堂| 亚洲第一男人av| 国产国产精品人在线视| 亚洲欧美日韩视频一区| 亚洲天堂色网站| 亚洲自拍小视频| 日韩精品福利在线| 成人444kkkk在线观看| 亚洲欧美日韩精品| 亚洲人成在线免费观看| 亚洲国产成人久久综合一区| 欧美性生交大片免网| 狠狠躁18三区二区一区| 亚洲第一黄色网| 久久综合色影院| 国产做受高潮69| 久久6精品影院| 久久福利视频导航| 亚洲精品一区二区久| 久久99亚洲热视| 成人福利网站在线观看11| 国产一区二区三区免费视频| 国精产品一区一区三区有限在线| 色悠久久久久综合先锋影音下载| 欧美国产视频一区二区| 欧美大尺度在线观看| 国产一级揄自揄精品视频| 91精品在线看| 欧美自拍视频在线观看| 亚洲欧美日韩第一区| 国产精品中文在线| 狠狠色噜噜狠狠狠狠97| 亚洲国产中文字幕久久网| 视频在线观看99| 久久久999成人| 米奇精品一区二区三区在线观看| 久久国产精品首页| 亚洲国产精品成人va在线观看| 欧美国产日韩中文字幕在线| 国产日韩欧美在线| 日韩精品免费在线| 日韩欧美在线免费观看| 日韩av中文字幕在线免费观看| 成人精品一区二区三区电影免费| 亚洲天堂2020| 亚洲精品视频在线观看视频| 国内精品国产三级国产在线专| 国产精品男女猛烈高潮激情| 欧美日韩亚洲精品内裤| 日韩av第一页| 欧美日韩国产va另类| 欧美日韩ab片| 国产精品h片在线播放| 青青a在线精品免费观看| 色老头一区二区三区| 精品国产一区二区三区久久狼5月| 日韩久久免费视频| 久久久这里只有精品视频| 精品久久久久久久久久久久久久| 久久久国产精品x99av| 欧美成人精品激情在线观看| 欧美午夜视频在线观看| 日韩av第一页| 欧美夫妻性生活视频| 亚洲一区二区三区香蕉| 欧美精品18videos性欧美| 国内成人精品视频| 欧美日韩亚洲系列| 久久久久久国产| 亚洲欧美日韩在线高清直播| 色综合天天综合网国产成人网| 亚洲成年人在线播放| 成人午夜两性视频| 8090成年在线看片午夜| 亚洲国产高清自拍| 亚洲欧美日韩高清| 亚洲18私人小影院| 日韩中文字幕视频| 亚洲欧洲午夜一线一品| 欧美在线性视频| 成人免费xxxxx在线观看| 欧美另类暴力丝袜| 国产精品wwwwww| 久久国产精品久久久久久久久久| 日本在线精品视频| 日本三级久久久| 日韩大胆人体377p| 国产成人avxxxxx在线看| 97超级碰碰碰久久久| 国产免费一区视频观看免费| 日韩一区二区福利| 国产精品第8页| 欧美性开放视频| 日韩色av导航| 日韩中文字幕视频在线观看| 久久久999精品| 国内精品模特av私拍在线观看| 亚洲性无码av在线| 国产精品久久久久久搜索| 国产成人av在线| 久久久久久av| 在线免费观看羞羞视频一区二区| 尤物九九久久国产精品的特点|