php cursor scroll,jQuery插件scroll实现无缝滚动效果

scroll滚动插件

支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置

默认配置参数可修改

$(".content").easysroll({ //默认配置参数 direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left numberr: "1", //每一次滚动数量 默认是1 delays:"1000",//完成一次动画所需时间 默认是1000等于1秒 scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒 fadein:false,//是否支持淡入或淡出 默认false enterStop:true //鼠标移入是否暂停滚动 默认是true })

html代码:

滚动插件(支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置)

*{ 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;}

支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置

  • 1-15021010125I64-lp.jpg
  • 1-1502100934032T-lp.png
  • 1-1502092312470-L.gif
  • 1-1502091243010-L.jpg
  • 1-15020Q549320-L.jpg
  • 1-150204143012445.jpg
  • 1-15020Q94340510.jpg
  • 1-15020GG54I43.jpg
  • 89.jpg
  • 85.png
  • 84.png
  • 83.jpg
  • 82.png
  • 81.png
  • 78.png

$(".content").easysroll({

//默认配置参数

direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left

numberr: "1", //每一次滚动数量 默认是1

delays:"1000",//完成一次动画所需时间 默认是1000等于1秒

scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒

fadein:false,//是否支持淡入或淡出 默认false

enterStop:true; //鼠标移入是否暂停滚动 默认是true

})

$(".content").easysroll({

//默认配置参数

direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left

numberr: "1", //每一次滚动数量 默认是1

delays:"1000",//完成一次动画所需时间 默认是1000等于1秒

scrolling: "1000",//每一次动画的时间间隔 默认是1000等于1秒

fadein:false,//是否支持淡入或淡出 默认false

enterStop:true; //鼠标移入是否暂停滚动 默认是true

})

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>

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>

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>

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>

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

以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于jQuery实现同时展示多个tab标签和左右箭头滚动的示例代码: HTML部分: ```html <div class="tab-wrapper"> <div class="tab-scroll left-arrow"><i class="fa fa-chevron-left"></i></div> <div class="tab-container"> <ul class="tabs"> <li class="active"><a href="#tab1">Tab 1</a></li> <li><a href="#tab2">Tab 2</a></li> <li><a href="#tab3">Tab 3</a></li> <li><a href="#tab4">Tab 4</a></li> <li><a href="#tab5">Tab 5</a></li> <li><a href="#tab6">Tab 6</a></li> <li><a href="#tab7">Tab 7</a></li> </ul> </div> <div class="tab-scroll right-arrow"><i class="fa fa-chevron-right"></i></div> </div> ``` CSS部分: ```css .tab-wrapper { display: flex; align-items: center; justify-content: center; position: relative; margin: 0 auto; max-width: 800px; } .tab-scroll { position: absolute; top: 0; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.8); cursor: pointer; opacity: 0.5; transition: opacity 0.2s ease; } .tab-scroll:hover { opacity: 1; } .left-arrow { left: 0; } .right-arrow { right: 0; } .tab-container { flex: 1; overflow: hidden; padding: 0 50px; } .tabs { display: flex; list-style: none; margin: 0; padding: 0; } .tabs li { margin-right: 20px; } .tabs li:last-child { margin-right: 0; } .tabs a { display: block; padding: 10px; border: 1px solid #ccc; border-bottom: none; background-color: #f9f9f9; color: #333; text-decoration: none; } .tabs a:hover { background-color: #e5e5e5; } .tabs .active a { border-color: #ccc; border-bottom: none; background-color: #fff; font-weight: bold; } ``` JavaScript部分: ```javascript $(document).ready(function() { // 将tab标签容器和tab标签项存储为变量 var tabContainer = $('.tab-container'); var tabs = $('.tabs li'); // 获取每个tab标签项的宽度 var tabWidth = tabs.outerWidth(); // 计算tab标签容器的总宽度 var totalWidth = tabWidth * tabs.length; // 将tab标签容器的总宽度设置为tab标签容器的宽度 tabContainer.css('width', totalWidth + 'px'); // 点击左箭头向左滚动tab标签 $('.left-arrow').click(function() { var scrollLeft = tabContainer.scrollLeft(); tabContainer.animate({scrollLeft: scrollLeft - tabWidth}, 200); }); // 点击右箭头向右滚动tab标签 $('.right-arrow').click(function() { var scrollLeft = tabContainer.scrollLeft(); tabContainer.animate({scrollLeft: scrollLeft + tabWidth}, 200); }); // 点击tab标签切换内容 tabs.click(function() { var tab = $(this); var target = $(tab.find('a').attr('href')); // 移除所有tab标签项的active类 tabs.removeClass('active'); // 添加当前点击的tab标签项的active类 tab.addClass('active'); // 隐藏所有内容 $('.tab-content').hide(); // 显示目标内容 target.show(); }); // 初始化第一个tab标签为active类 tabs.first().addClass('active'); // 显示第一个内容 $('#tab1').show(); }); ``` 这个示例代码中,我们首先将所有的tab标签项放在一个容器中,并将这个容器的宽度设置为所有tab标签项的宽度之和,这样就可以实现同时展示多个tab标签。然后,我们使用jQueryscrollLeft()方法和animate()方法实现左右箭头的滚动效果。最后,我们使用jQuery的click()方法和addClass()方法、removeClass()方法和show()方法实现tab标签切换内容的效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值