thinkphp5切换标签的做法

网友投稿 279 2022-09-23

thinkphp5切换标签的做法

好郁闷最初做的项目加载速度太慢,想了一下,大概明白为什么。各种url都放在了数据库,然后每个url都要查数据库,顶部导航查一次,测边导航又查一次,速度简直慢成渣渣。

我的思路

顶部标签各放一个li,a标签指引index,通过index查数据库,通过数据库找到侧栏url,加载侧栏,然后通过侧栏标签找数据库iframe加载内容url,找到url,然后才显示。

使用block

base.html

{block name="xx"}{/block}

index.html

{extend name='public/base'{block name="xx"}{/block}

导航栏同样用a标签,但是标签是固定的,使用模板{:url},事实上这个只是不同界面,但加载速度也快一点,使用block,这是一种思路。

使用show,hide进行切换

主要是使用js来实现这一点:

function () $(".nav-item").click(function () $(this).addClass('topactive').siblings('li').removeClass('topactive'); var mid = $(this).attr('menu-id'); $("#sub-"+mid).show().siblings("ul").hide(); return false; }); $(".sub-item").click(function () $(this).addClass('active'); $(this).siblings('li').removeClass('active'); }); });

这个技术主要是两点,1.全部显示,切换速度快;2.使用​​$(this).addClass('topactive').siblings('li').removeClass('topactive');​​这种方式切换active状态,所以这种显示方式能够达到切换速度较快的后果。(这句的意思是为当前标签加class topactive,找到同层的li标签,移除它们的class topactive)但是这种也有个问题,一刷新就回到第一页了。它这里的url使用数据库的,因为只要加载一次,首次加载速度略慢,使用js略快一点。

大概分析完,打算用block+js的sibling,刷新保持在当前标签,这样体验好一点。整理完了,到了写代码的时间。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:android清除数据,清除缓存以及一键清除
下一篇:营销最前线:独家分享:花了50亿买楼的字节跳动,其实没有总部大楼!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~