jquery多行滾動(dòng)/向左或向上滾動(dòng)/響應(yīng)鼠標(biāo)實(shí)現(xiàn)思路及代碼
更新時(shí)間:2013年01月23日 16:07:20 作者:
多行滾動(dòng)jQuery循環(huán)新聞列表代碼包括以下功能:鼠標(biāo)滑上焦點(diǎn)圖時(shí)停止自動(dòng)播放/滑出時(shí)開(kāi)始自動(dòng)播放以及判斷執(zhí)行橫向或縱向滾動(dòng),感興趣的朋友可以了解下哦
html 文件
gundong-0.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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>多行滾動(dòng)jQuery循環(huán)新聞列表代碼</title>
<style type="text/css">
ul,li{margin:0;padding:0}
img{border:0px;}
a{text-decoration:none;border:0px;}
/* 橫向滾動(dòng) */
#scrollDiv2{border:#ccc 1px solid;}
#scrollDiv3{border:#ccc 1px solid;}
</style>
<script src="../jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="wordscroll-0.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$.wordScroll({
objId:"scrollDiv2"
});
$.wordScroll({
objId:"scrollDiv3",
isHorizontal:true
});
});
</script>
</head>
<body>
<div id="scrollDiv2">
<ul>
<li>這是公告標(biāo)題的第一行</li>
<li>這是公告標(biāo)題的第二行</li>
<li>這是公告標(biāo)題的第三行</li>
<li>這是公告標(biāo)題的第四行</li>
<li>這是公告標(biāo)題的第五行</li>
<li>這是公告標(biāo)題的第六行</li>
<li>這是公告標(biāo)題的第七行</li>
<li>這是公告標(biāo)題的第八行</li>
<li>這是公告標(biāo)題的第九行</li>
</ul>
</div>
<div id="scrollDiv3">
<ul>
<li>這是公告標(biāo)題的第一行</li>
<li>這是公告標(biāo)題的第二行</li>
<li>這是公告標(biāo)題的第三行</li>
<li>這是公告標(biāo)題的第四行</li>
<li>這是公告標(biāo)題的第五行</li>
<li>這是公告標(biāo)題的第六行</li>
<li>這是公告標(biāo)題的第七行</li>
<li>這是公告標(biāo)題的第八行</li>
<li>這是公告標(biāo)題的第九行</li>
</ul>
</div>
</body>
</html>
js文件
wordscroll-0.1.js
<P>/**
* 多行文字滾動(dòng),可以實(shí)現(xiàn)向左和向上兩種滾動(dòng)
*
**/
$.extend({
wordScroll:function(opt,callback){
//alert("suc");
this.defaults = {
objId:"",
width:300, // 每行的寬度
height:100, // div的高度
liHeight:25, // 每行高度
lines:2, // 每次滾動(dòng)的行數(shù)
speed:1000, // 動(dòng)作時(shí)間
interval:2000, // 滾動(dòng)間隔
picTimer:0, // 間隔句柄,不需要設(shè)置,只是作為標(biāo)識(shí)使用
isHorizontal:false // 是否橫向滾動(dòng)
}
//參數(shù)初始化
var opts = $.extend(this.defaults,opt);
// 縱向橫向通用
$("#"+opts.objId).css({
width:opts.width,
height:opts.height,
"min-height":opts.liHeight,
"line-height":opts.liHeight+"px",
overflow:"hidden"
});
$("#"+opts.objId+" li").css({
height:opts.liHeight
});
if(opts.lines==0)
opts.lines=1;
// 橫向滾動(dòng)
if(opts.isHorizontal){
$("#"+opts.objId).css({
width:opts.width*opts.lines + "px"
});
$("#"+opts.objId+" li").css({
"display":"block",
"float":"left",
"width":opts.width + "px"
});
$("#"+opts.objId+" ul").css({
width:$("#"+opts.objId).find("li").size()*opts.width + "px"
});</P><P> // 橫向使用,不夠一屏則不滾動(dòng)
if($("#"+opts.objId).find("li").size()<=opts.lines)
return;
var scrollWidth = 0 - opts.lines*opts.width;
}else{
//如果不夠一屏內(nèi)容 則不滾動(dòng)
if($("#"+opts.objId).find("li").size()<=parseInt($("#"+opts.objId).height()/opts.liHeight,10))
return;
var upHeight=0-opts.lines*opts.liHeight;
}
// 橫向滾動(dòng)
function scrollLeft(){
$("#"+opts.objId).find("ul:first").animate({
marginLeft:scrollWidth
},opts.speed,function(){
for(i=1;i<=opts.lines;i++){
$("#"+opts.objId).find("li:first").appendTo($("#"+opts.objId).find("ul:first"));
}
$("#"+opts.objId).find("ul:first").css({marginLeft:0});
});
};
// 縱向滾動(dòng)
function scrollUp(){
$("#"+opts.objId).find("ul:first").animate({
marginTop:upHeight
},opts.speed,function(){
for(i=1;i<=opts.lines;i++){
$("#"+opts.objId).find("li:first").appendTo($("#"+opts.objId).find("ul:first"));
}
$("#"+opts.objId).find("ul:first").css({marginTop:0});
});
};
//鼠標(biāo)滑上焦點(diǎn)圖時(shí)停止自動(dòng)播放,滑出時(shí)開(kāi)始自動(dòng)播放
$("#"+opts.objId).hover(function() {
clearInterval(opts.picTimer);
},function() {
opts.picTimer = setInterval(function() {
// 判斷執(zhí)行橫向或縱向滾動(dòng)
if(opts.isHorizontal)
scrollLeft();
else
scrollUp();
},opts.interval); // 自動(dòng)播放的間隔,單位:毫秒
}).trigger("mouseleave");
}
})
</P>
gundong-0.1.html
復(fù)制代碼 代碼如下:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>多行滾動(dòng)jQuery循環(huán)新聞列表代碼</title>
<style type="text/css">
ul,li{margin:0;padding:0}
img{border:0px;}
a{text-decoration:none;border:0px;}
/* 橫向滾動(dòng) */
#scrollDiv2{border:#ccc 1px solid;}
#scrollDiv3{border:#ccc 1px solid;}
</style>
<script src="../jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="wordscroll-0.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$.wordScroll({
objId:"scrollDiv2"
});
$.wordScroll({
objId:"scrollDiv3",
isHorizontal:true
});
});
</script>
</head>
<body>
<div id="scrollDiv2">
<ul>
<li>這是公告標(biāo)題的第一行</li>
<li>這是公告標(biāo)題的第二行</li>
<li>這是公告標(biāo)題的第三行</li>
<li>這是公告標(biāo)題的第四行</li>
<li>這是公告標(biāo)題的第五行</li>
<li>這是公告標(biāo)題的第六行</li>
<li>這是公告標(biāo)題的第七行</li>
<li>這是公告標(biāo)題的第八行</li>
<li>這是公告標(biāo)題的第九行</li>
</ul>
</div>
<div id="scrollDiv3">
<ul>
<li>這是公告標(biāo)題的第一行</li>
<li>這是公告標(biāo)題的第二行</li>
<li>這是公告標(biāo)題的第三行</li>
<li>這是公告標(biāo)題的第四行</li>
<li>這是公告標(biāo)題的第五行</li>
<li>這是公告標(biāo)題的第六行</li>
<li>這是公告標(biāo)題的第七行</li>
<li>這是公告標(biāo)題的第八行</li>
<li>這是公告標(biāo)題的第九行</li>
</ul>
</div>
</body>
</html>
js文件
wordscroll-0.1.js
復(fù)制代碼 代碼如下:
<P>/**
* 多行文字滾動(dòng),可以實(shí)現(xiàn)向左和向上兩種滾動(dòng)
*
**/
$.extend({
wordScroll:function(opt,callback){
//alert("suc");
this.defaults = {
objId:"",
width:300, // 每行的寬度
height:100, // div的高度
liHeight:25, // 每行高度
lines:2, // 每次滾動(dòng)的行數(shù)
speed:1000, // 動(dòng)作時(shí)間
interval:2000, // 滾動(dòng)間隔
picTimer:0, // 間隔句柄,不需要設(shè)置,只是作為標(biāo)識(shí)使用
isHorizontal:false // 是否橫向滾動(dòng)
}
//參數(shù)初始化
var opts = $.extend(this.defaults,opt);
// 縱向橫向通用
$("#"+opts.objId).css({
width:opts.width,
height:opts.height,
"min-height":opts.liHeight,
"line-height":opts.liHeight+"px",
overflow:"hidden"
});
$("#"+opts.objId+" li").css({
height:opts.liHeight
});
if(opts.lines==0)
opts.lines=1;
// 橫向滾動(dòng)
if(opts.isHorizontal){
$("#"+opts.objId).css({
width:opts.width*opts.lines + "px"
});
$("#"+opts.objId+" li").css({
"display":"block",
"float":"left",
"width":opts.width + "px"
});
$("#"+opts.objId+" ul").css({
width:$("#"+opts.objId).find("li").size()*opts.width + "px"
});</P><P> // 橫向使用,不夠一屏則不滾動(dòng)
if($("#"+opts.objId).find("li").size()<=opts.lines)
return;
var scrollWidth = 0 - opts.lines*opts.width;
}else{
//如果不夠一屏內(nèi)容 則不滾動(dòng)
if($("#"+opts.objId).find("li").size()<=parseInt($("#"+opts.objId).height()/opts.liHeight,10))
return;
var upHeight=0-opts.lines*opts.liHeight;
}
// 橫向滾動(dòng)
function scrollLeft(){
$("#"+opts.objId).find("ul:first").animate({
marginLeft:scrollWidth
},opts.speed,function(){
for(i=1;i<=opts.lines;i++){
$("#"+opts.objId).find("li:first").appendTo($("#"+opts.objId).find("ul:first"));
}
$("#"+opts.objId).find("ul:first").css({marginLeft:0});
});
};
// 縱向滾動(dòng)
function scrollUp(){
$("#"+opts.objId).find("ul:first").animate({
marginTop:upHeight
},opts.speed,function(){
for(i=1;i<=opts.lines;i++){
$("#"+opts.objId).find("li:first").appendTo($("#"+opts.objId).find("ul:first"));
}
$("#"+opts.objId).find("ul:first").css({marginTop:0});
});
};
//鼠標(biāo)滑上焦點(diǎn)圖時(shí)停止自動(dòng)播放,滑出時(shí)開(kāi)始自動(dòng)播放
$("#"+opts.objId).hover(function() {
clearInterval(opts.picTimer);
},function() {
opts.picTimer = setInterval(function() {
// 判斷執(zhí)行橫向或縱向滾動(dòng)
if(opts.isHorizontal)
scrollLeft();
else
scrollUp();
},opts.interval); // 自動(dòng)播放的間隔,單位:毫秒
}).trigger("mouseleave");
}
})
</P>
您可能感興趣的文章:
- Jquery實(shí)現(xiàn)無(wú)縫向上循環(huán)滾動(dòng)列表的特效
- jQuery插件實(shí)現(xiàn)文字無(wú)縫向上滾動(dòng)效果代碼
- jquery插件之文字間歇自動(dòng)向上滾動(dòng)效果代碼
- jQuery實(shí)現(xiàn)簡(jiǎn)單的間隔向上滾動(dòng)效果
- jquery單行文字向上滾動(dòng)效果示例
- JQuery文字列表向上滾動(dòng)的代碼
- jQuery實(shí)現(xiàn)單行文字間歇向上滾動(dòng)源代碼
- jquery無(wú)縫向上滾動(dòng)實(shí)現(xiàn)代碼
- 簡(jiǎn)短幾句jquery代碼的實(shí)現(xiàn)一個(gè)圖片向上滾動(dòng)切換
- jQuery實(shí)現(xiàn)動(dòng)態(tài)向上滾動(dòng)
相關(guān)文章
AspNet中使用JQuery上傳插件Uploadify詳解
Uploadify是JQuery的一個(gè)上傳插件,實(shí)現(xiàn)的效果非常不錯(cuò),帶進(jìn)度顯示。不過(guò)官方提供的實(shí)例時(shí)php版本的,本文將詳細(xì)介紹Uploadify在Aspnet中的使用2015-05-05
把一個(gè)元素淡出或淡入可以達(dá)到更為生動(dòng)的效果,在任何一種情況下,都只是隨著時(shí)間來(lái)改變?cè)氐耐该鞫?/div> 2014-09-09
jQuery實(shí)現(xiàn)遍歷復(fù)選框的方法示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)遍歷復(fù)選框的方法,結(jié)合實(shí)例形式分析了jQuery針對(duì)表單復(fù)選框元素的遍歷與字符串操作相關(guān)技巧,需要的朋友可以參考下2017-03-03
jquery 多行滾動(dòng)代碼(附詳細(xì)解釋)
在網(wǎng)上可以隨處找到這段代碼,但是沒(méi)有任何人解釋這段代碼,只要自己研究好久。2010-06-06
jQuery使用load()方法載入另外一個(gè)網(wǎng)頁(yè)文件內(nèi)的指定標(biāo)簽內(nèi)容到div標(biāo)簽的方法
這篇文章主要介紹了jQuery使用load()方法載入另外一個(gè)網(wǎng)頁(yè)文件內(nèi)的指定標(biāo)簽內(nèi)容到div標(biāo)簽的方法,涉及jQuery中l(wèi)oad方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
jQuery實(shí)現(xiàn)帶延遲的二級(jí)tab切換下拉列表效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)帶延遲的二級(jí)tab切換下拉列表效果,涉及jquery鼠標(biāo)事件及頁(yè)面元素樣式動(dòng)態(tài)變換的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
淺談JSON和JSONP區(qū)別及jQuery的ajax jsonp的使用
文章從JSON和JSONP區(qū)別開(kāi)始講起,用實(shí)例來(lái)對(duì)比他們之間的不同之處,然后詳細(xì)講解了jQuery中的ajax jsonp的使用并給出了示例及詳細(xì)參數(shù)說(shuō)明。這里推薦給大家,希望對(duì)小伙伴能有所幫助2014-11-11最新評(píng)論

