jQuery插件scroll實現(xiàn)無縫滾動效果
scroll滾動插件
支持上下左右,淡入淡出,滾動時間設(shè)置,動畫時間設(shè)置,鼠標(biāo)經(jīng)過是否停止設(shè)置
默認(rèn)配置參數(shù)可修改
$(".content").easysroll({ //默認(rèn)配置參數(shù) direction: "left", //滾動方向 left(向左)right(向右) top(向上) bottom(向下) 默認(rèn)left numberr: "1", //每一次滾動數(shù)量 默認(rèn)是1 delays:"1000",//完成一次動畫所需時間 默認(rèn)是1000等于1秒 scrolling: "1000",//每一次動畫的時間間隔 默認(rèn)是1000等于1秒 fadein:false,//是否支持淡入或淡出 默認(rèn)false enterStop:true //鼠標(biāo)移入是否暫停滾動 默認(rèn)是true })
html代碼:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>滾動插件(支持上下左右,淡入淡出,滾動時間設(shè)置,動畫時間設(shè)置,鼠標(biāo)經(jīng)過是否停止設(shè)置)</title>
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="js/scroll.js" type="text/javascript"></script>
</head>
<style>
*{ margin: 0px; padding: 0px;}
.content{ width: 1010px; height:102px; overflow: hidden; border: #4e83c2 solid 1px; margin:50px auto; }
.content ul{list-style: none; margin: 0px; padding: 0px; }
.content ul li{ width: 100px; height: 100px; border:#ccc solid 1px; overflow: hidden;cursor: pointer;}
</style>
<body>
<h1>支持上下左右,淡入淡出,滾動時間設(shè)置,動畫時間設(shè)置,鼠標(biāo)經(jīng)過是否停止設(shè)置</h1>
<div class="content">
<ul type="box">
<li><img src="uploads/allimg/150210/1-15021010125I64-lp.jpg"></li>
<li><img src="uploads/allimg/150210/1-1502100934032T-lp.png"></li>
<li><img src="uploads/allimg/150209/1-1502092312470-L.gif"></li>
<li><img src="uploads/allimg/150209/1-1502091243010-L.jpg"></li>
<li><img src="uploads/allimg/150208/1-15020Q549320-L.jpg"></li>
<li><img src="uploads/allimg/150204/1-150204143012445.jpg"></li>
<li><img src="uploads/150208/1-15020Q94340510.jpg"></li>
<li><img src="uploads/150207/1-15020GG54I43.jpg"></li>
<li><img src="uploads/allimg/131024/89.jpg"></li>
<li><img src="uploads/allimg/131024/85.png"></li>
<li><img src="uploads/allimg/131024/84.png"></li>
<li><img src="uploads/allimg/131024/83.jpg"></li>
<li><img src="uploads/allimg/131024/82.png"></li>
<li><img src="uploads/allimg/131024/81.png"></li>
<li><img src="uploads/allimg/131024/78.png"></li>
</ul>
</div>
<div>
$(".content").easysroll({<br>
//默認(rèn)配置參數(shù)<br>
direction: "left", //滾動方向 left(向左)right(向右) top(向上) bottom(向下) 默認(rèn)left<br>
numberr: "1", //每一次滾動數(shù)量 默認(rèn)是1<br>
delays:"1000",//完成一次動畫所需時間 默認(rèn)是1000等于1秒<br>
scrolling: "1000",//每一次動畫的時間間隔 默認(rèn)是1000等于1秒<br>
fadein:false,//是否支持淡入或淡出 默認(rèn)false<br>
enterStop:true; //鼠標(biāo)移入是否暫停滾動 默認(rèn)是true<br>
<br>
})<br>
<br>
</div>
<script>
$(".content").easysroll({
//默認(rèn)配置參數(shù)
direction: "left", //滾動方向 left(向左)right(向右) top(向上) bottom(向下) 默認(rèn)left
numberr: "1", //每一次滾動數(shù)量 默認(rèn)是1
delays:"1000",//完成一次動畫所需時間 默認(rèn)是1000等于1秒
scrolling: "1000",//每一次動畫的時間間隔 默認(rèn)是1000等于1秒
fadein:false,//是否支持淡入或淡出 默認(rèn)false
enterStop:true; //鼠標(biāo)移入是否暫停滾動 默認(rèn)是true
})
</script>
</body>
</html>
JS核心代碼
(function ($) {
$.fn.easysroll= function(options) {
var parameter= {
direction: "left",
numberr: "1",
delays:"1000",
scrolling: "1000",
fadein: false,
enterStop:true
};
var ops = $.extend(parameter,options);
var $this=$(this);
var _this=this;
var _time=null;
var obj=_this.find("[type='box']");
var items=obj.find("li");
var itemsleg=items.length;
var itemsW=items.outerWidth(true);
var itemsH=items.outerHeight(true);
var _direction=ops.direction;
var _numberr =ops.numberr;
var _delays=ops.delays;
var _scrolling =ops.scrolling;
var _fadein=ops.fadein;
var _enterStop=ops.enterStop;
if(_direction=="top" || _direction=="bottom")
{
items.css({"float":"none"});
obj.width(itemsW*itemsleg);
if(_direction=="bottom") {
obj.css("margin-top",-_numberr*itemsH);
}
}else if(_direction=="left" || _direction=="right"){
items.css({"float":"left"});
obj.width(itemsW*itemsleg);
if(_direction=="right") {
obj.css("margin-left",-_numberr*itemsW);
}
}else{
alert("您配置的滾動方向有誤,請重新配置");
return true;
}
function scroll(){
if(_direction=="left"){
obj.animate({"margin-left":-_numberr*itemsW},Number(_delays),function(){
for (var i=0;i<_numberr;i++){
obj.find("li").eq(0).appendTo(obj);
}
obj.css({"margin-left":0})
if(_fadein){
obj.find("li").eq(0).animate({"opacity":0},Number(_delays));
obj.find("li").eq(itemsleg-1).css({"opacity":1});
}
});
}else if(_direction=="right"){
obj.animate({"margin-left":0},Number(_delays),function(){
for(var i=0;i<_numberr;i++){
obj.find("li").eq(itemsleg-1).prependTo(obj);
};
obj.css("margin-left",-_numberr*itemsW);
if(_fadein){
obj.find("li").eq(0).animate({"opacity":1},Number(_delays));
obj.find("li").eq(itemsleg-1).css({"opacity":0});
}
});
}else if(_direction=="top"){
obj.animate({"margin-top":-_numberr*itemsH},Number(_delays),function(){
for (var i=0;i<_numberr;i++){
obj.find("li").eq(0).appendTo(obj);
}
obj.css({"margin-top":0});
if(_fadein){
obj.find("li").eq(0).animate({"opacity":0},Number(_delays));
obj.find("li").eq(itemsleg-1).css({"opacity":1});
}
});
}else if(_direction=="bottom"){
obj.animate({"margin-top":0},Number(_delays),function(){
for(var i=0;i<_numberr;i++){
obj.find("li").eq(itemsleg-1).prependTo(obj);
}
obj.css("margin-top",-_numberr*itemsH);
if(_fadein){
obj.find("li").eq(0).animate({"opacity":1},Number(_delays));
obj.find("li").eq(itemsleg-1).css({"opacity":0});
}
});
}
}
$this.hover(function(){
if(_enterStop){
clearInterval(_time);
}
},function(){
_time= setInterval(scroll,_scrolling);
}).trigger('mouseleave');
}
})(jQuery);
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
jquery+json實現(xiàn)數(shù)據(jù)列表分頁示例代碼
該實例中,新聞數(shù)據(jù)列表未使用表格顯示,下面有個不錯的示例完美實現(xiàn)實現(xiàn)數(shù)據(jù)列表分頁,感興趣的朋友不要錯過2013-11-11
jQuery插件學(xué)習(xí)教程之SlidesJs輪播+Validation驗證
這篇文章主要介紹了jQuery插件學(xué)習(xí)教程之SlidesJs輪播+Validation驗證的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
對jquery的ajax進(jìn)行二次封裝以及ajax緩存代理組件:AjaxCache詳解
下面小編就為大家?guī)硪黄獙query的ajax進(jìn)行二次封裝以及ajax緩存代理組件:AjaxCache詳解。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-04-04
jQuery插件HighCharts實現(xiàn)的2D條狀圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts實現(xiàn)的2D條狀圖效果,結(jié)合完整實例形式詳細(xì)分析了jQuery插件HighCharts繪制2D條狀圖的操作步驟與相關(guān)屬性設(shè)置技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
jQuery ajaxSubmit 實現(xiàn)ajax提交表單局部刷新
這篇文章主要介紹了jQuery ajaxSubmit 實現(xiàn)ajax提交表單局部刷新 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
jQuery實現(xiàn)Select左右復(fù)制移動內(nèi)容
這篇文章主要介紹了基于jQuery實現(xiàn)Select左右復(fù)制移動內(nèi)容的實現(xiàn)方法,代碼非常簡單,具有參考借鑒價值,需要的朋友參考下2016-08-08
在jQuery1.5中使用deferred對象 著放大鏡看Promise
在那篇經(jīng)典的關(guān)于jQuery1.5中Deferred使用方法介紹的文章中(譯文見這里),有下面一段描述2011-03-03
jQuery dataTables與jQuery UI 對話框dialog的使用教程
這篇文章主要介紹了jQuery dataTables與jQuery UI 對話框dialog的使用教程的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下2016-09-09

