设为首页 加入收藏

TOP

一个分页效果ruby版可作为面试题吧(三)
2019-08-15 00:10:09 】 浏览:212
Tags:一个分 效果 ruby 作为 试题
delete_if{|x| x >current_page+2}

    elsif current_page-1>0

      a.delete_if{|x| x>current_page+3}

    elsif current_page>0

      a.delete_if{|x| x>current_page+4}

    end

  end

end

if a.first!=1

  a.unshift "..."

  a.unshift 1

end

if a.last!=total_pages

  a<<"..."

  a<<total_pages

end

puts a

puts "----------"

pos=a.index(current_page)

def gen_link(page)

  page=page.to_s

  #拼接样式输出

  %Q{<span><a href="">#{page}</a></span>}

end

 

r=[]

a.each_with_index do |elem,index|

  page=elem

  if elem=="..." and index<pos

    page=a[a.index("...")+1]-1

  end

  if elem=="..." and index>pos

    page=a[a.rindex("...")-1]+1

  end

  r<<gen_link(page)

end

 

#修改当前页的样式

r[pos]=%Q{<span id="page_on"><font>#{a[pos]}</font></span>}

if current_page==1

  r.unshift %q{<span><font>&#173;上一页</font></span>}

  r.unshift %q{<span><font>&laquo;首页</font></span>}

  r.unshift %q{<div class="page_box">}

else

  page=current_page-1

  r.unshift %Q{<span><a href="">上一页</a></span>}

  r.unshift %Q{<span><a href="">首页</a></span>}

  r.unshift %q{<div class="page_box">}

end

if current_page==total_pages

  r<<%q{<span><a href="">&#173;下一页</a></span>}

  r<<%q{<span><a href="" >&#173;尾页&raquo;</a></span>}

  r<<%q{<span><font>1/共11页</font></span>}

  r<<%q{</div>}

else

  page=current_page+1

  r<< %Q{<span><a href="">&#173;下一页</a></span>}

  r<< %Q{<span><a href="">&#173;尾页&raquo;</a></span>}

  r<<%q{</div>}

 

end

puts r

puts r.join("")

 

 

 

 

 

 

文章转载自:http://www.pythonheidong.com/blog/article/2186/

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇day011_步入百万年薪的第十一天—.. 下一篇循序渐进掌握递归正则表达式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目