网页前端制作之列表无缝滚动

来源:设计经验分享网
添加时间:2024年02月
列表无缝滚动和列表可切换的无缝滚动,如下图:



Css如下所示:
<style>
*{
margin:0;
padding:0;
}

li{
list-style:none;
}

.donation_list.box{
margin-top:20px;
height:330px;
overflow:hidden;
background:#F5F5F5;
}
#donation_list{
max-width:360px;
margin-left:auto;
margin-right:auto;
}
.donation_listulli{
padding:15px0px;
color:#777777;
font-size:16px;
line-height:1.7;
border-bottom:dashed#f1f1f11px;
overflow:hidden;
}
.donation_listulli.date,
.donation_listulli.name,
.donation_listulli.sum{
float:left;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.donation_listulli.date{
width:100px;
}
.donation_listulli.sum{
width:110px;
text-align:right;
}
.donation_listulli.name{
width:-moz-calc(100%-210px);
width:-webkit-calc(100%-210px);
width:calc(100%-210px);
text-align:center;
}
</style>
Html如下所示:

<scriptsrc="js/jquery-1.11.1.min.js"></script>
Js如下所示:
scrollUpDown($('#donation_list'));
functionscrollUpDown(obj){
var_height=obj.outerHeight();
var_html=obj.find('#donation_listul').html();
obj.find('#donation_listul').html(_html);
functionscroll(){
returnsetInterval(function(){
if(parseFloat(obj.css('margin-top'))>-(_height)){
obj.css({'margin-top':parseFloat(obj.css('margin-top'))-1});
}else{
obj.css({'margin-top':0});
}
},60);
}
var_interval=scroll();
obj.hover(function(){
_interval=clearInterval(_interval);
},function(){
_interval=scroll();
});
}

如果是要能切换的无缝对接,就如下所示:

Css如下所示:
<style>
*{
margin:0;
padding:0;
}

li{
list-style:none;
}

.list-wrap{
margin:50pxauto0;
width:500px;
vertical-align:top;
border:1pxsolidrgb(219,219,219);
box-shadow:rgb(164,160,157)1px1px9px-3px;
background-color:#F5F5F5;
}

.list-title{
display:flex;
border-bottom:2pxsolid#182248;
height:60px;
line-height:40px;
}

.list-titleli{
text-align:center;
flex:111px;
cursor:pointer;
padding:10px30px;
color:rgb(51,51,51);
}

.list-titleli.active{
color:#fff;
background-color:#182248;
}

.list-con{
padding:20px;
}

.list-con.content{
display:none;
padding:20px;
background-color:#fff;
}

.list-con.contentli{
font-size:12px;
height:30px;
line-height:30px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.list-con.contentli.date,
.list-con.contentli.name,
.list-con.contentli.sum{
float:left;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.list-con.contentli.date{
width:100px;
}
.list-con.contentli.sum{
width:110px;
text-align:right;
}
.list-con.contentli.name{
width:-moz-calc(100%-210px);
width:-webkit-calc(100%-210px);
width:calc(100%-210px);
text-align:center;
}
</style>
Html如下所示:



Js如下所示:
~(function($,window,document,undefined){
classScroll{
constructor(eles,opts){
this.$eles=eles;
opts=opts||{};
this.defaults={
mode:'CSS',
cssSpeed:5,
jsSpeed:'normal',
};
this.options=$.extend(true,{},this.defaults,opts);
this.options.jsSpeed=this.handleJsSpeed(this.options.jsSpeed);
this.init();
}
init(){
this.handleEve();
}
handleJsSpeed(sp){
switch(sp){
case'slow':
return50;
case'normal':
return30;
case'fast':
return15;
}
}
handleEve(){
const_this=this;
this.$eles.each(function(i,domEle){
_this.cloneNode(domEle);
_this.initValue(domEle);
_this.wrapDiv(domEle);
_this.createKeyframes();
if(_this.options.mode==='CSS'){
_this.moveByCss(domEle);
_this.handleHoverByCss(domEle);
}else{
_this.moveByJs(domEle);
_this.handleHoverByJs(domEle);
}
});
}
cloneNode(ele){
$(ele).children().clone().appendTo($(ele));
}
initValue(ele){
$(ele).css({
margin:0,
padding:0
});
ele.num=0;
consto=$(ele).parents(":hidden").eq($(ele).parents(":hidden").length-1);
o.css({
display:'block'
});
//ele.h=parseInt($(ele).outerHeight(true)/2);
//Topreventthefathersettingdisplay:flex;fromaffectingtheheightofthechildelement
letsum=0;
$(ele).children().each(function(i,item){
sum+=$(item).outerHeight(true);
});
ele.h=parseInt(sum/2);
o.css({
display:'none'
});
}
wrapDiv(ele){
$(ele).wrap($(`<divstyle="height:${ele.h}px;overflow:hidden;padding:0">`));
}
createKeyframes(){
construnkeyframes=`@keyframesIFER_MOVE{
100%{
transform:translateY(-50%);
}
}`;
conststyle=document.createElement('style');
style.type='text/css';
style.innerHTML=runkeyframes;
document.querySelector('head').appendChild(style);
}
moveByCss(ele){
$(ele).css({
animation:`IFER_MOVE${this.options.cssSpeed}slinearinfinite`
});
}
handleHoverByCss(ele){
$(ele).hover(function(){
$(this).css('animation-play-state','paused');
},function(){
$(this).css('animation-play-state','running');
});
}
moveByJs(ele){
clearInterval(ele.timer);
ele.timer=setInterval(()=>{
if(Math.abs(ele.num)===ele.h){
ele.num=0;
}else{
$(ele).css('transform','translateY('+ele.num+'px)');
}
ele.num--;
},this.options.jsSpeed);
}
handleHoverByJs(ele){
const_this=this;
$(ele).hover(function(){
clearInterval(ele.timer);
},function(){
_this.moveByJs(ele);
});
}
}
$.fn.siScroll=function(options){
newScroll(this,options);
};
})(jQuery,window,document);


$('.list-titleli').click(function(){
$(this).addClass('active').siblings().removeClass('active');
$('.content').eq($(this).index()).show().siblings('.content').hide();
});

$(".scroll").siScroll();
 

平面设计相关资讯推荐阅读:


深圳网页设计|如何设计一个高端网页深圳网页建设之“高大上”网页建设步骤新手做网络推广心态很重要!建设网页要如何选择空间商为什么你需要网页建设规范文档网页设计时注意的60个seo问题为什么软件定制项目难做软件外包公司该怎么发展 网页是重要的推广工具高端网页建设的推广方法网页建设优化要突出网页商业性目的企业品牌官网建设中一些常见的布局方式用户体验为中心的时代,我们要如何做好细节调整企业建设网页到底有什么用呢企业和公司为什么要建设响应式网页茂名建站-将你的网页转换为销售工具深圳网页建设中设计结构要驾于美观上如何将网页关系数据库用于Web的战略战术在设计网页以前要做一些哪些事儿网页建设怎样提高客户信任度网页设计10条经验总结网页建成之后网页优化是重中之重从哪几个方向分析来提升网页的转化率科技分享15种导致客户快速离开网页的原因网页建设设计怎么做网页建设设计哪家好经营性与非经营性互联网信息服务如何界定网页建设哪家强,中国广州找易捷网页改版收费怎样改版反映在哪一方面十个网页设计师须知的UX设计智慧如何选择深圳网页改版公司打破网页设计常规思维这堵墙!免费建站网页建设出来网页好吗来给大家具体分析什么叫做用户行为谷歌不显示广告1低个较常见的原因网页建设易出现的问题关注网页在建设过程的各种细节软件定制开发那家好现在做网页建设的发展趋势怎么样网页建设的优化引流一般是怎么做的企业网页建设包含哪些功能网页建设我们需要重视的页面布局有哪些企业如何赢得在线访问者的信任 网页设计要做成功需要先考虑哪些因素深圳网页建设解析什么是品牌网页网页首页要如何设计才能吸引用户网页设计分享找灵感妙方如何找到适合您企业的管理软件,定制软件的成本是多少决定网页建设费用的因素品牌网页建设:驱动它前行的动力是什么高端的网页建设需要做哪些工作建站中影响优化的因素有哪些企业在自媒体运营中会遇到什么问题定制网页该怎么对网页排版布局呢网页建设的市场定位分析企业网页建设为什么要选择虚拟主机企业为什么要建设官网,建设官网对企业发展有哪些帮助基本建设一个企业网页一般必须花销要多少钱做专业网页建设的意义是什么做网页建设必须要搞懂的几件事!深圳网页建设要放眼全局电子商务网页建设的10个易用性规则
网站备案号:豫ICP备2024041165号