用 js 如何实现两个 ul 选中的内容同步呢

2015-05-25 10:23:44 +08:00
 EXDestroyer

http://ww3.sinaimg.cn/bmiddle/69dd3998gw1esgaa2piilj20ae09pmy8.jpg
当在上面列表选中图片下面会同步显示,取消的时候下面也取消;下面点击删除之后上面的也同步去选选择。

我自己只能想到用title属性去去对应的元素,但是感觉怪怪的

2802 次点击
所在节点    前端开发
30 条回复
EXDestroyer
2015-05-25 10:23:52 +08:00
xff1874
2015-05-25 10:31:44 +08:00
操作同一份数据,通知,两个组件同时刷新。
abelyao
2015-05-25 10:40:21 +08:00
弄个统一 id,其中一个选中的时候,把另一个列表相同 id 的也加上选中样式。
EchoChan
2015-05-25 10:44:13 +08:00
数据绑定?
EXDestroyer
2015-05-25 10:44:28 +08:00
@abelyao 另一个列表本身是空的,只有第一个列表选中的才会出现在那里
EXDestroyer
2015-05-25 10:44:52 +08:00
@xff1874 可以讲详细点吗,我不太明白
sneezry
2015-05-25 10:46:29 +08:00
用angular什么的就会方便很多~
abelyao
2015-05-25 10:48:17 +08:00
@EXDestroyer 空的也行呗,上面选中的时候,下面再动态创建 dom 也可以,思路都一样嘛,或者下面默认是隐藏的,上面选中的时候下面显示出来,容易做许多。
EXDestroyer
2015-05-25 10:51:53 +08:00
@EchoChan 你说的是 双向数据绑定 这个东西吗
EXDestroyer
2015-05-25 11:10:04 +08:00
对了 还忘了说,上面那个select下拉选项切换之后上面的列表会改变,但是下面的不会
mhycy
2015-05-25 11:21:06 +08:00
上面的元素带上id, 或者class
具体id号就用数据库记录的id就够了
然后上面选择的时候同步加入一个新的元素进入下面的ul(有图有id还插不进去?)
同时上面的元素class加入on
如果你需要按上面的顺序呈现那么就重新生成ul,或者遍历插入,随便怎么实现

删除同理, 移除元素并遍历上面的ul找出同id的把on去掉
EchoChan
2015-05-25 11:35:32 +08:00
@EXDestroyer 恩。
heaton_nobu
2015-05-25 11:44:50 +08:00
第一想法也是angularjs
alayii
2015-05-25 13:18:14 +08:00
用事件,上面 ul 选中后 trigger 下面 ul 的一个事件,下面的 ul 监听这个事件
EXDestroyer
2015-05-25 13:31:55 +08:00
@alayii 这个没法trigger吧,下面的顺序和对应的图片id每次都不一样
kisshere
2015-05-25 13:37:14 +08:00
楼上一群菜鸟也是醉了,连angularjs这么垃圾的框架都用上了,用jQuery的each遍历上面的每个元素吧,给每个元素设置一个flag,比如title啊name啊都可以,each遍历每个flag把他append到下面就行
loading
2015-05-25 13:39:37 +08:00
@kisshere 正解
EXDestroyer
2015-05-25 13:41:54 +08:00
@kisshere @loading 明白你的意思,但是遍历并不是很好的方案吧我觉得,上面是可以随时切换相册文件夹的,并且图片数量根据个人情况也不同(可能会翻页)
kisshere
2015-05-25 13:47:09 +08:00
@EXDestroyer 如果要翻页,也只能ajax翻页吧,将数据push到一个全局array中,或者cookie也行,setinterval隔200ms遍历一次cookie,清空下面的ul,再append到下面ul中
loading
2015-05-25 14:23:39 +08:00
@EXDestroyer
@kisshere
根本不需要遍历,在上面的点击事件处理就行。
怕翻页,就cookie。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/193487

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX