点评:这篇文章主要介绍了css3实现可滑动跳转的分页插件示例,需要的朋友可以参考下
今天我要向大家分享一款很特别的CSS3分页插件,这款分页插件不仅可以点击分页按钮来实现分页,而且可以滑动滑杆来实现任意页面的跳转,看看都非常酷,很适合一些个性化的个人网站使用,当然,这款分页插件也适合ajax翻页,效果都挺不错的。先来看看效果图:dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
怎么样,还挺酷的吧。dm5HTML5中文学习网 - HTML5先行者学习网
当然你也可以在这里查看插件的DEMO演示。dm5HTML5中文学习网 - HTML5先行者学习网
接下来我们来分享一下源码的实现思路,这里用到了jQuery UI框架,这么酷的滑杆是靠它实现的,不然,写的累死。。dm5HTML5中文学习网 - HTML5先行者学习网
首先是HTML代码:dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
<div class="pageSlider long"></div>dm5HTML5中文学习网 - HTML5先行者学习网
<form class="pageForm" action="#">dm5HTML5中文学习网 - HTML5先行者学习网
<label class="pageLabel" for="pageInput">dm5HTML5中文学习网 - HTML5先行者学习网
Page number you'd like to go to. (Max of 30)dm5HTML5中文学习网 - HTML5先行者学习网
</label>dm5HTML5中文学习网 - HTML5先行者学习网
<a dm5HTML5中文学习网 - HTML5先行者学习网
class="pagePrev pageSkip" dm5HTML5中文学习网 - HTML5先行者学习网
href="#?page=6" dm5HTML5中文学习网 - HTML5先行者学习网
title="Previous Page (6)">Previous Page</a>dm5HTML5中文学习网 - HTML5先行者学习网
<input id="pageInput" class="pageInput" dm5HTML5中文学习网 - HTML5先行者学习网
type="text" maxlength="3" placeholder="#">dm5HTML5中文学习网 - HTML5先行者学习网
<a dm5HTML5中文学习网 - HTML5先行者学习网
class="pageNext pageSkip" dm5HTML5中文学习网 - HTML5先行者学习网
href="#?page=8" dm5HTML5中文学习网 - HTML5先行者学习网
title="Next Page (8)">Next Page</a>dm5HTML5中文学习网 - HTML5先行者学习网
<button class="pageButton" dm5HTML5中文学习网 - HTML5先行者学习网
title="Go to chosen page of results">Go</button>dm5HTML5中文学习网 - HTML5先行者学习网
</form>dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网dm5HTML5中文学习网 - HTML5先行者学习网这里我们看到,先是定义了滑杆的区域,然后是两个分页按钮,可以向前翻和向后翻,最后是一个任意页跳转的页码输入框和一个按钮。
dm5HTML5中文学习网 - HTML5先行者学习网别看这个滑杆很漂亮,会很难实现,其实利用jQuery UI这个东西非常简单。dm5HTML5中文学习网 - HTML5先行者学习网
接下来看看CSS代码:dm5HTML5中文学习网 - HTML5先行者学习网
前后翻页按钮:dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
.pageSkip {dm5HTML5中文学习网 - HTML5先行者学习网
display: inline-block;dm5HTML5中文学习网 - HTML5先行者学习网
background: transparent url('css/monotone_arrow_left_small.png') no-repeat -10px -10px;dm5HTML5中文学习网 - HTML5先行者学习网
text-indent: -999em;dm5HTML5中文学习网 - HTML5先行者学习网
background-size: 40px;dm5HTML5中文学习网 - HTML5先行者学习网
opacity: 0.7;dm5HTML5中文学习网 - HTML5先行者学习网
vertical-align: middle;dm5HTML5中文学习网 - HTML5先行者学习网
width: 20px;dm5HTML5中文学习网 - HTML5先行者学习网
height: 20px;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.pageNext {dm5HTML5中文学习网 - HTML5先行者学习网
background-image: url('css/monotone_arrow_right.png');dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网很遗憾,利用了两张箭头图片作为背景,不过,效果也还可以。dm5HTML5中文学习网 - HTML5先行者学习网
然后是输入框:dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
.pageNumber {dm5HTML5中文学习网 - HTML5先行者学习网
position: relative;dm5HTML5中文学习网 - HTML5先行者学习网
top: -38px;dm5HTML5中文学习网 - HTML5先行者学习网
left: 50%;dm5HTML5中文学习网 - HTML5先行者学习网
font-size: 12px;dm5HTML5中文学习网 - HTML5先行者学习网
color: #333;dm5HTML5中文学习网 - HTML5先行者学习网
width: 60px;dm5HTML5中文学习网 - HTML5先行者学习网
display: block;dm5HTML5中文学习网 - HTML5先行者学习网
text-align: center;dm5HTML5中文学习网 - HTML5先行者学习网
margin-left: -17px;dm5HTML5中文学习网 - HTML5先行者学习网
background: white;dm5HTML5中文学习网 - HTML5先行者学习网
padding: 5px 10px;dm5HTML5中文学习网 - HTML5先行者学习网
border-radius: 3px;dm5HTML5中文学习网 - HTML5先行者学习网
box-shadow: 0 0 5px rgba(151, 38, 20, 0.15);dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.pageNumber:after {dm5HTML5中文学习网 - HTML5先行者学习网
content: " ";dm5HTML5中文学习网 - HTML5先行者学习网
display: block;dm5HTML5中文学习网 - HTML5先行者学习网
position: absolute;dm5HTML5中文学习网 - HTML5先行者学习网
width: 0;dm5HTML5中文学习网 - HTML5先行者学习网
height: 0;dm5HTML5中文学习网 - HTML5先行者学习网
top: 24px;dm5HTML5中文学习网 - HTML5先行者学习网
border: 6px solid transparent;dm5HTML5中文学习网 - HTML5先行者学习网
border-top-color: white;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网然后是滑杆的背景,利用了CSS3线性渐变属性:dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider-horizontal {dm5HTML5中文学习网 - HTML5先行者学习网
width: 60%;dm5HTML5中文学习网 - HTML5先行者学习网
height: 6px;dm5HTML5中文学习网 - HTML5先行者学习网
top: 0px;dm5HTML5中文学习网 - HTML5先行者学习网
margin: 0px 10px 2px;dm5HTML5中文学习网 - HTML5先行者学习网
border-radius: 6px;dm5HTML5中文学习网 - HTML5先行者学习网
position: relative;dm5HTML5中文学习网 - HTML5先行者学习网
display: inline-block;dm5HTML5中文学习网 - HTML5先行者学习网
background: #F46652;dm5HTML5中文学习网 - HTML5先行者学习网
background-image: repeating-linear-gradient(28deg, transparent, transparent 10px, #dd5846 10px, #dd5846 20px);dm5HTML5中文学习网 - HTML5先行者学习网
box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.4);dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider-horizontal:before {dm5HTML5中文学习网 - HTML5先行者学习网
content: " ";dm5HTML5中文学习网 - HTML5先行者学习网
position: absolute;dm5HTML5中文学习网 - HTML5先行者学习网
width: auto;dm5HTML5中文学习网 - HTML5先行者学习网
height: 16px;dm5HTML5中文学习网 - HTML5先行者学习网
top: -5px;dm5HTML5中文学习网 - HTML5先行者学习网
left: -4px;dm5HTML5中文学习网 - HTML5先行者学习网
right: -4px;dm5HTML5中文学习网 - HTML5先行者学习网
border-radius: 10px;dm5HTML5中文学习网 - HTML5先行者学习网
z-index: -1;dm5HTML5中文学习网 - HTML5先行者学习网
background: linear-gradient(rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0.8) 90%);dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider.long .ui-slider-handle {dm5HTML5中文学习网 - HTML5先行者学习网
height: 12px;dm5HTML5中文学习网 - HTML5先行者学习网
width: 30px;dm5HTML5中文学习网 - HTML5先行者学习网
background: #f1f1f1;dm5HTML5中文学习网 - HTML5先行者学习网
display: block;dm5HTML5中文学习网 - HTML5先行者学习网
position: absolute;dm5HTML5中文学习网 - HTML5先行者学习网
border-radius: 50px;dm5HTML5中文学习网 - HTML5先行者学习网
margin-top: -3px;dm5HTML5中文学习网 - HTML5先行者学习网
margin-left: -15px;dm5HTML5中文学习网 - HTML5先行者学习网
text-decoration: none;dm5HTML5中文学习网 - HTML5先行者学习网
background: #f5f5f5;dm5HTML5中文学习网 - HTML5先行者学习网
background: linear-gradient(#f5f5f5 0%, #cccccc 100%);dm5HTML5中文学习网 - HTML5先行者学习网
box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.35), 0 0 2px 1px rgba(0, 0, 0, 0.15), 0 3px 3px rgba(0, 0, 0, 0.2), 0 7px 5px rgba(0, 0, 0, 0.1), 0 11px 10px rgba(0, 0, 0, 0.1);dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider.long .ui-slider-handle::before,dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider.long .ui-slider-handle::after {dm5HTML5中文学习网 - HTML5先行者学习网
content: " ";dm5HTML5中文学习网 - HTML5先行者学习网
width: 2px;dm5HTML5中文学习网 - HTML5先行者学习网
height: 40%;dm5HTML5中文学习网 - HTML5先行者学习网
position: absolute;dm5HTML5中文学习网 - HTML5先行者学习网
background: transparent;dm5HTML5中文学习网 - HTML5先行者学习网
border-radius: 0px;dm5HTML5中文学习网 - HTML5先行者学习网
box-shadow: -1px 0px 0px rgba(255, 255, 255, 0.8), 1px 0px 0px rgba(255, 255, 255, 0.8), 2px 0 0 rgba(0, 0, 0, 0.3), 1px 0 0 rgba(0, 0, 0, 0.3) inset;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider.long .ui-slider-handle::before {dm5HTML5中文学习网 - HTML5先行者学习网
left: 10px;dm5HTML5中文学习网 - HTML5先行者学习网
top: 30%;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.ui-slider.long .ui-slider-handle::after {dm5HTML5中文学习网 - HTML5先行者学习网
right: 12px;dm5HTML5中文学习网 - HTML5先行者学习网
top: 30%;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
@media (max-width: 550px) {dm5HTML5中文学习网 - HTML5先行者学习网
.pagination {dm5HTML5中文学习网 - HTML5先行者学习网
width: auto;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.pageForm {dm5HTML5中文学习网 - HTML5先行者学习网
display: block;dm5HTML5中文学习网 - HTML5先行者学习网
margin-top: 20px;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.pageInput {dm5HTML5中文学习网 - HTML5先行者学习网
margin: 0;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
.pageSlider {dm5HTML5中文学习网 - HTML5先行者学习网
width: 260px;dm5HTML5中文学习网 - HTML5先行者学习网
margin: 0 15px;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网最后是js,这是用来实现翻页逻辑的,来看看:dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网
$(document).ready( function() {dm5HTML5中文学习网 - HTML5先行者学习网
var pagesMax = 30;dm5HTML5中文学习网 - HTML5先行者学习网
var pagesMin = 1;dm5HTML5中文学习网 - HTML5先行者学习网
var startPage = 7;dm5HTML5中文学习网 - HTML5先行者学习网
var url = "<a href="http://yoe.com/results?page={{1">http://yoe.com/results?page={{1</a>}}";dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageSlider').slider({dm5HTML5中文学习网 - HTML5先行者学习网
value: startPage, max: pagesMax, min: pagesMin,dm5HTML5中文学习网 - HTML5先行者学习网
animate: true,dm5HTML5中文学习网 - HTML5先行者学习网
create: function( event, ui ) {dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageSlider .ui-slider-handle').attr({dm5HTML5中文学习网 - HTML5先行者学习网
"aria-valuenow": startPage,dm5HTML5中文学习网 - HTML5先行者学习网
"aria-valuetext": "Page " + startPage,dm5HTML5中文学习网 - HTML5先行者学习网
"role": "slider",dm5HTML5中文学习网 - HTML5先行者学习网
"aria-valuemin": pagesMin,dm5HTML5中文学习网 - HTML5先行者学习网
"aria-valuemax": pagesMax,dm5HTML5中文学习网 - HTML5先行者学习网
"aria-describedby": "pageSliderDescription" dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageInput').val( startPage );dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
}).on( 'slide', function(event,ui) {dm5HTML5中文学习网 - HTML5先行者学习网
// let user skip 10 pages with keyboard ;)dm5HTML5中文学习网 - HTML5先行者学习网
if( event.metaKey || event.ctrlKey ) {dm5HTML5中文学习网 - HTML5先行者学习网
if( ui.value > $(this).slider('value') ) {dm5HTML5中文学习网 - HTML5先行者学习网
if( ui.value+9 < pagesMax ) { ui.value+=9; } dm5HTML5中文学习网 - HTML5先行者学习网
else { ui.value=pagesMax }dm5HTML5中文学习网 - HTML5先行者学习网
$(this).slider('value',ui.value);dm5HTML5中文学习网 - HTML5先行者学习网
} else {dm5HTML5中文学习网 - HTML5先行者学习网
if( ui.value-9 > pagesMin ) { ui.value-=9; } dm5HTML5中文学习网 - HTML5先行者学习网
else { ui.value=pagesMin }dm5HTML5中文学习网 - HTML5先行者学习网
$(this).slider('value',ui.value);dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
event.preventDefault();dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageNumber span').text( ui.value );dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageInput').val( ui.value );dm5HTML5中文学习网 - HTML5先行者学习网
}).on('slidechange', function(event, ui) {dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageNumber')dm5HTML5中文学习网 - HTML5先行者学习网
.attr('role','alert')dm5HTML5中文学习网 - HTML5先行者学习网
.find('span')dm5HTML5中文学习网 - HTML5先行者学习网
.text( ui.value );dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageInput').val( ui.value );dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination .pageSlider .ui-slider-handle').attr({dm5HTML5中文学习网 - HTML5先行者学习网
"aria-valuenow": ui.value,dm5HTML5中文学习网 - HTML5先行者学习网
"aria-valuetext": "Page " + ui.valuedm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.pageSlider.ui-slider-handle').on('keyup',function(e){dm5HTML5中文学习网 - HTML5先行者学习网
if(e.which==13){dm5HTML5中文学习网 - HTML5先行者学习网
varcurPage=$('.pagination.pageSlider').slider('value');dm5HTML5中文学习网 - HTML5先行者学习网
alert('wewouldnowsendyouto:'+url.replace(/{{.}}/,curPage));dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.pageInput').on('change',function(e){dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.pageSlider').slider('value',$(this).val());dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
vartmr;dm5HTML5中文学习网 - HTML5先行者学习网
$('.pageSkip').on('click',function(e){dm5HTML5中文学习网 - HTML5先行者学习网
e.preventDefault();dm5HTML5中文学习网 - HTML5先行者学习网
var$this=$(this);dm5HTML5中文学习网 - HTML5先行者学习网
if($this.hasClass('pageNext')){dm5HTML5中文学习网 - HTML5先行者学习网
varcurPage=$('.pagination.pageSlider').slider('value')+1;dm5HTML5中文学习网 - HTML5先行者学习网
}elseif($this.hasClass('pagePrev')){dm5HTML5中文学习网 - HTML5先行者学习网
varcurPage=$('.pagination.pageSlider').slider('value')-1;dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.pageSlider').slider('value',curPage);dm5HTML5中文学习网 - HTML5先行者学习网
clearTimeout(tmr);dm5HTML5中文学习网 - HTML5先行者学习网
tmr=setTimeout(function(){dm5HTML5中文学习网 - HTML5先行者学习网
alert('wewouldnowsendyouto:'+url.replace(/{{.}}/,curPage));dm5HTML5中文学习网 - HTML5先行者学习网
},1000);dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
functionsliderPips(min,max){dm5HTML5中文学习网 - HTML5先行者学习网
varpips=max-min;dm5HTML5中文学习网 - HTML5先行者学习网
var$pagination=$('.pagination.pageSlider');dm5HTML5中文学习网 - HTML5先行者学习网
for(i=0;i<=pips;i++){dm5HTML5中文学习网 - HTML5先行者学习网
vars=$('<spanclass="pagePip"/>').css({dm5HTML5中文学习网 - HTML5先行者学习网
left:''+(100/pips)*i+'%'dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
$pagination.append(s);dm5HTML5中文学习网 - HTML5先行者学习网
}dm5HTML5中文学习网 - HTML5先行者学习网
varminPip=$('<spanclass="pageMinPip">'+min+'</span>');dm5HTML5中文学习网 - HTML5先行者学习网
varmaxPip=$('<spanclass="pageMaxPip">'+max+'</span>');dm5HTML5中文学习网 - HTML5先行者学习网
$pagination.prepend(minPip,maxPip);dm5HTML5中文学习网 - HTML5先行者学习网
};dm5HTML5中文学习网 - HTML5先行者学习网
sliderPips(pagesMin,pagesMax);dm5HTML5中文学习网 - HTML5先行者学习网
functionsliderLabel(){dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.ui-slider-handle').append(dm5HTML5中文学习网 - HTML5先行者学习网
'<spanclass="pageNumber">Page<span>'+dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.pageSlider').slider('value')+dm5HTML5中文学习网 - HTML5先行者学习网
'</span></span>');dm5HTML5中文学习网 - HTML5先行者学习网
};dm5HTML5中文学习网 - HTML5先行者学习网
sliderLabel();dm5HTML5中文学习网 - HTML5先行者学习网
$('.pagination.pageButton').on('click',function(e){dm5HTML5中文学习网 - HTML5先行者学习网
e.preventDefault();dm5HTML5中文学习网 - HTML5先行者学习网
varcurPage=$('.pagination.pageSlider').slider('value');dm5HTML5中文学习网 - HTML5先行者学习网
alert('wewouldnowsendyouto:'+dm5HTML5中文学习网 - HTML5先行者学习网
url.replace(/{{.}}/,curPage));dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
});dm5HTML5中文学习网 - HTML5先行者学习网
dm5HTML5中文学习网 - HTML5先行者学习网