开博第一篇:记一个前端实现的“换一换”功能

需求的极简概要:实现“换一换”按钮的功能,点击之后,换另一批对应的品牌

刚开始的时候考虑使用ajax请求数据,之后通过js在页面上填充到指定位置,但是真是懒得给这个ajax请求单独再配一个请求映射了,干脆直接在后台把需要的内容全部拼成JSON字符串,直接在前台解析,分页。

页面比较简单,就不上html代码了,大概思路就是:两个“换一换”按钮分别对应两套数据,共用一个分页的方法,分别传入各自的页数,显示对应页数的内容。当然了,实现“换一换”的方法多种多样,我在此只是记录一下自己的思路,欢迎批评指教,拍砖轻拍,爱护新人,3Q。

节约口水,直接上代码~

 1     $(function(){
 2
 3         //“换一换”功能家居,杂货点击计数器
 4         var jiajubrandCount = 0;
 5         var zahuobrandCount = 0;
 6
 7         //初始化家居品牌内容
 8         jiajubrandCount = ClickToChangeBrand("jiajubrand","jiajubrandval",jiajubrandCount);
 9         //初始化杂货品牌内容
10         zahuobrandCount = ClickToChangeBrand("zahuobrand","zahuobrandval",zahuobrandCount);
11
12         //家居换一换点击
13         $("#jiajuBrandChange").click(function(){
14             jiajubrandCount = ClickToChangeBrand("jiajubrand","jiajubrandval",jiajubrandCount);
15         });
16
17         //杂货换一换点击
18         $("#zahuoBrandChange").click(function(){
19             zahuobrandCount = ClickToChangeBrand("zahuobrand","zahuobrandval",zahuobrandCount);
20         });
21
22         //品牌“换一换”功能
23         //container:目标容器
24         //valSrc:值存放的容器
25         //brandCount:计数
26         function ClickToChangeBrand(container,valSrc,brandCount){
27
28             //$("#" + container).empty();//清空既存内容
29             var s = $("#" + valSrc).val(); //取得品牌所有数据
30             var obj = $.parseJSON(s.toString());//转换为JSON
31             var totalCount = obj.length;//总记录数
32             var perPageCount = 20;//预定每页显示数
33             var pageCount = 0;//总页数
34             var actualPerPageCount = 0;//实际每页的显示数
35             var strTotal = "";//待打印内容的缓冲变量
36
37             var tempRs = totalCount%perPageCount;//根据实际品牌数计算总页数
38             if(tempRs!=0){
39                 pageCount = parseInt(totalCount/perPageCount) + 1;
40             }
41             else{
42                 pageCount = parseInt(totalCount/perPageCount);
43             }
44
45             //取实际每次需要显示的记录数,若最后一页不足一页的
46             if(brandCount * perPageCount + perPageCount > totalCount){
47                 actualPerPageCount = totalCount - brandCount * perPageCount;
48             }
49             else{
50                 actualPerPageCount = perPageCount;
51             }
52
53        /* alert("计数器:"+brandCount);
54             alert("实际每页数:"+actualPerPageCount);
55             alert("预定每页数:"+perPageCount);
56             alert("总页数:"+ pageCount); */
57
58             //获取当前页的内容
59             for(i = brandCount * perPageCount;i < brandCount * perPageCount + actualPerPageCount;i++){
60                 //obj[i].title为显示标题,obj[i].name为该品牌的类目id
61                 strTotal += "<a href=‘‘ target=‘_blank‘>" + obj[i].title + "</a>";
62             }
63
64             //计数器大于等于页数的时候归零
65             brandCount++;
66             if(brandCount>=pageCount){
67                 brandCount = 0;
68             }
69
70             //淡出
71             $("#" + container).empty().append(strTotal).hide().stop(true,true).fadeIn("slow");
72
73             return brandCount;
74         }
75     });

开博第一篇:记一个前端实现的“换一换”功能

时间: 2024-08-09 02:26:37

开博第一篇:记一个前端实现的“换一换”功能的相关文章

开博第一篇

男 黑 瘦 戴眼镜 无明显特征 以上是今天开学仪式上我填写的卡片.在这个每人写特征,班主任拿着让别人猜的游戏上.我实在想不出除了衣服颜色.坐的位置外,我还有什么特征是可以让别人分辨出来的.很巧,我的卡片是第一个被说出来的,很快就承认了.没啥新意,没啥突出,没啥注目的自我介绍. 我就是这么普通的一个人. 高中毕业N年了,工作经验也N年了.却一直没有一技之长.或许有吧,只是没有系统的理论武装,也可能是没遇到独当一面的时刻,当然,更多的可能是心里的恐惧作祟,不想去挡,不想去出头. 孩子快一岁了,工作最

关于新家布置的一点小经验——开博第一篇

在成功申请博客园之后干的第一件事,当然是好好布置一下新家啦. 以前逛大牛博客园看代码的时候,就羡慕别人家的自定义网页,尤其羡慕别人家的板娘,今天终于自己有机会定义自己的网页了,真是敲开心. 废话就不多说了,让我来给大家分享一下经验吧. 作为一个博客园小白,在美化自己的博客之前,当然先找度娘了解一下情报,虽然大佬侃侃而谈地东西我实在没太看懂,但还是摸到了一点门道. 博客园美化入门 其实当你学会按下管理和设置之后,你就成功入门了.慢着,也许还需要学会贴css样式. 博客园基本样式美化 为了看清博客园

开博第一篇,谈人生谈理想

从开始接触学习网络开始,今年是第10个年头.回首这10年,一直专注于技术,只想专心做个技术人,然而社会不会那么单纯的让你按自己的意愿走下去,总会把各种东西揉到你的人生里. 10年的工作经历里,10年学习TE可以说是打下了理论基础,紧接着在银行里驻点的三年让我形成了自己的风格和思路.在我以后的文章里,大家慢慢感悟,每个人都有自己的风格,没办法照搬别人的想法. 话不多说,希望大家能有所收获.

初学C++,开博第一篇

几个维度相同的数组转置算法,这两种完全相同://注意:如果维度不同,转置会出错误,因为下标会越界...解决办法是把数组的维度调齐,或者是写到另一新数组中. for(int i=0;i<row;i++) for(int j=0;j<i;j++){ temp=a[i][j]; a[i][j]=a[j][i]; a[j][i]=temp;} ----------------------------------------- for(int i=0;i<row;i++) for(int j=i;

开博第一篇博文

从原本的一名网络运维人员,到开发人员的转型,我认为是不易的.不管是学习中遇到的困难,还是无法陪伴家人的误解,我还是义无反顾的踏上了转型的道路.我选择了Java,或者说Java选择了我.还有我爱的人. 晒晒Curta Ⅱ型号

开博第一天,记录下最近的状态(加油加油)

毕业到现在已经4年了,之前大学有在QQ空间记事的习惯,随着时间的推移,变懒了,懒得可怕,再不改改就废了! 今年的工作一直处于游离状态,不走心!反而工作给我的最直接的反馈就是工资都不够我在上海的生活,想起房租房贷日常开销,马上要报名学习ios,烦躁焦虑顾忌接踵而来. 刚才,老婆微信我最近的账单,说马上又要还信用卡了.我微信不知道怎么回复,我停顿了些许回了“老婆,今年让你辛苦了”,我知道这话显得很苍白无力,这个苍白也直接显现了现在的困窘,越想越难受,刚才想拨通发小的电话,好好释放下.但是,他没有接!

web 前端入坑第一篇:web前端到底是什么?有前途吗

web前端到底是什么? 某货: "前几年前端开发人员鱼目混杂,技术参差不齐,相对学习起来不规范,导致> 前端开发人员聚集,所以现在前端工种和工资还是没得到普遍重视,但近2年来,> > HTML5.JS 的流行,让前端异常火爆,以后还会更有前途吗?请问您怎么看?" 我 "我只能告诉你:前端不灭""除非你不要脸!""前些年因为国内都不要脸,然而现在都明白了用户体验至上,现在都要脸:""不但要脸 还要胸大

开博第二篇:记一个利用JavaScript,编写PS脚本,开发图片量产工具

背景:身在一个有实业的电商公司,设计部的妹子们总是会有做不完的商品图片,当然了,要是做点有技术含量的美化工作也罢,但是最近她们很是无聊,总是要做一些重复性的工作,就比如如题所说的,图片量产,量产什么呢?价格牌...这东西很没意思哎!就是给你一个模板,然后你自己把模板原来的文字图片换掉就行了,再排一下版,纯体力劳动好么!博主做过一阵子的对日外包工作,深知她们的痛苦,如果说某些对日外包的程序猿是人肉转码器的话,那么设计部的妹子们现在就成了..算了,词就不说了,太残酷了 ===============

开园第一篇:最近开发微信web 遇到的坑。

0.0 我是阿平.我在北京,我是一个彩B 前端.之前一直在园子里潜水,前几天面试某公司时,问我有博客吗 看看自己的github 在看看博客园 我的个艹,的不好意思发出去,于是乎 决定以后开始还是记录一下吧.最后弱弱的说,我的表达有时候有问题,如果有表达不清楚的地方,欢迎亲们留言吧 帮助我改进-.-~ !(技术方面的指教更是求之不得 啦啦啦~ 骚扰我把!)  最近公司在做微信企业号的应用,有幸( - -..不幸负责整个项目),前端方面选用的是angularjs  zepto ionic requi