javascript - 前端js如何实现这样的效果?
ringa_lee
ringa_lee 2017-04-10 16:33:04
[JavaScript讨论组]

类似于这个网站的页面效果,500px,简单点的版本 饿了么的餐厅筛选饿了么
多个不同的tab,比如是按照默认,最新,最热,收藏数,点赞数等等排序筛选,每个tab下面用ajax获取的图片的顺序都是不一样的。

我的思路是
通过ajax从后台拿到json数据以后,根据前端模版来填充数据。再然后根据相应的jquery插件调整图片的布局和显示。通过tab切换ajax动态请求不同的数据,并进行图片数据缓存,同时更改url路径。图片的显示采用滚动加载方式。

其中有几个需求

  1. 初次请求的图片数据应当少,通过滚动加载之后的图片,这样可以避免初次加载过多

  2. 不同的tab切换的时候,ajax请求数据后缓存数据,url更改。

疑问

  1. tab切换如何更改url路径,比如加上类似?type=popular ?type=new,是后台直接提供url?还是可以在tab切换ajax动态加载的时候更改url,如何处理?

  2. ajax的缓存怎么处理?当再次切换的时候不用重新请求?

  3. 图片的展示像500px这样,是如何做到的?有没有好的插件?

  4. 图片展位图是如何先确定图片的宽高来生成相应的展位图的,并且可以布局的这么好?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
天蓬老师
  1. 绑定hashchange事件;

  2. 可以做本地存储,用h5的localstorage/appCache等

  3. 类似于瀑布流 给个github地址:https://github.com/desandro/masonry

高洛峰

1、tab切换如何更改url路径,比如加上类似?type=popular ?type=new,是后台直接提供url?还是可以在tab切换
--这种每次切换tab直接ajax请求后台拿数据(可以封装成json),到前台后,直接生成tab页右侧内容(当前,获取的肯定是前5条,因为要下拉加载,东西太多加载会慢),url这个可以直接从后台获取到前台,然后在前台html元素加一个新属性存放,然后用户在点击时,直接链接对应属性的内容即可。也可以直接后台传一个id给前台,然后用户访问时,先进入后台,后台查询id对应的url再转发。
2、ajax动态加载的时候更改url,如何处理?
--tab页对应右侧内容是动态的,如果是固定的就不能实现动态加载了吧。每次tab页切换,右侧内容对应更新,更新的是整个右侧p里面的内容,在ajax请求后台返回的消息后,前台再生成对应的html内容填入到p中
3、ajax的缓存怎么处理?当再次切换的时候不用重新请求?
--图片数据为何要缓存呢?现在网络应该不会慢到加载个图片会很忙的节奏吧。
4、图片的展示像500px这样,是如何做到的?有没有好的插件?
--直接做个瀑布流,就好了(但是要注意的是,500px这个瀑布流是高度是固定的,另外淘宝那边瀑布流是宽度是固定的,总之有一个要固定,好像html5很容易就能实现)
5、图片展位图是如何先确定图片的宽高来生成相应的展位图的,并且可以布局的这么好?
--同4

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号