JS实现分页浏览横向图片(类轮播)实例代码


Posted in Javascript onNovember 06, 2017

昨天朋友问我怎么用js实现分页浏览横向图片功能,其实实现代码很简单的,下面小编给大家带来了具体实现代码,代码如下所示:

common.js

function $(id) { 
 return document.getElementById(id); 
} 
function $_tag(tag) { 
 return document.getElementsByTagName(tag); 
}

index.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Document</title> 
 <style> 
  a { 
   cursor: pointer; 
  } 
  .div1 { 
   width: 410px; /* 可以去掉 */ 
   height: 100px; 
   overflow-x: hidden; 
   white-space: nowrap; 
  } 
  .div2 { 
   display: none; 
  } 
 </style> 
</head> 
<body> 
 <div class="div1" id="div1"> 
 </div> 
 <a onclick="pre()">上一页</a> 
 <a onclick="next()">下一页</a> 
 <div class="div2"> 
  <img src="images/1.jpg" alt=""> 
  <img src="images/2.jpg" alt=""> 
  <img src="images/3.jpg" alt=""> 
  <img src="images/4.jpg" alt=""> 
  <img src="images/5.jpg" alt=""> 
  <img src="images/6.jpg" alt=""> 
  <img src="images/7.jpg" alt=""> 
 </div> 
 <script src="js/common.js"></script> 
 <script> 
  //搞一个拼img标签的函数 传参数 for循环 
  //扩展、稳定、兼容、好用(简单)... 
  //<img src="images/7.jpg" alt=""> 
  var count = 4; // 每页的图片数目 
  var currentpage = 1; //当前页数 
  var imgs = $_tag("img"); 
  //console.log(imgs); 可以深入了解下 
  console.log("图片总数:" + imgs.length); 
  var totalpage = Math.ceil(imgs.length/count); 
  console.log("总页数:" + totalpage); 
  function pre() { 
   if(currentpage == 1){ 
    console.log("已经是第一页了!"); 
    return; 
   }else if(currentpage > 1){ 
    var tmp = (currentpage - 2) * count + 1; 
    var str = ""; 
    str += "<img src='" + "images/" + tmp + ".jpg'>"; 
    str += "<img src='" + "images/" + (tmp+1) + ".jpg'>"; 
    str += "<img src='" + "images/" + (tmp+2) + ".jpg'>"; 
    str += "<img src='" + "images/" + (tmp+3) + ".jpg'>"; 
    currentpage -= 1; 
    console.log(str); 
    $("div1").innerHTML = str; 
   } 
  } 
  function next() { 
   if(currentpage == totalpage){ 
    console.log("已经是最后一页了!"); 
   }else if(currentpage == (totalpage - 1)){ 
    var sur = imgs.length % count; 
    var tmp1 = currentpage * count + 1; 
    var str = ""; 
    console.log("剩余数:" + sur); 
    for(var i=0;i<sur;i++){ 
     console.log("第几张:" + (tmp1+i)); 
     str += "<img src=\"" + "images/" + (tmp1+i) + ".jpg\">"; 
    } 
    currentpage += 1; 
    console.log(str); 
    $("div1").innerHTML = str; 
   }else if(currentpage > 0){ 
    var tmp = currentpage * count + 1; 
    console.log("tmp:" + tmp); 
    var str = ""; 
    str += "<img src='" + "images/" + tmp + ".jpg'>"; 
    str += "<img src='" + "images/" + (tmp+1) + ".jpg'>"; 
    str += "<img src='" + "images/" + (tmp+2) + ".jpg'>"; 
    str += "<img src='" + "images/" + (tmp+3) + ".jpg'>"; 
    currentpage += 1; 
    $("div1").innerHTML = str; 
   } 
  } 
  function firstpage() { 
   var str = ""; 
   str += "<img src='" + "images/" + 1 + ".jpg'>"; 
   str += "<img src='" + "images/" + 2 + ".jpg'>"; 
   str += "<img src='" + "images/" + 3 + ".jpg'>"; 
   str += "<img src='" + "images/" + 4 + ".jpg'>"; 
   console.log(str); 
   $("div1").innerHTML = str; 
  } 
  window.onload = function() { 
   firstpage(); 
  } 
 </script> 
</body> 
</html>

总结

以上所述是小编给大家介绍的JS实现分页浏览横向图片(类轮播)实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript函数详解
Feb 27 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
浅谈js中StringBuffer类的实现方法及使用
Sep 02 Javascript
jQuery中Find选择器用法示例
Sep 21 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
Apr 11 Javascript
Vue实现选择城市功能
May 27 Javascript
原生js封装添加class,删除class的实例
Nov 06 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
VUE 全局变量的几种实现方式
Aug 22 Javascript
Vue路由之JWT身份认证的实现方法
Aug 26 Javascript
对vuex中getters计算过滤操作详解
Nov 06 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 06 #Javascript
vue自定义过滤器创建和使用方法详解
Nov 06 #Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 #Javascript
vue复合组件实现注册表单功能
Nov 06 #Javascript
基于vue组件实现猜数字游戏
May 28 #Javascript
vue路由嵌套的SPA实现步骤
Nov 06 #Javascript
vue综合组件间的通信详解
Nov 06 #Javascript
You might like
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
微信小程序 自定义消息提示框
2017/08/06 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
python添加模块搜索路径方法
2017/09/11 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
PHP面试题及答案二
2015/05/23 面试题
国际经济贸易专业推荐信
2013/11/06 职场文书
党建工作先进材料
2014/05/02 职场文书
创建文明城市标语
2014/06/16 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
个人业务学习心得体会
2016/01/25 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
go:垃圾回收GC触发条件详解
2021/04/24 Golang