Giter Club home page Giter Club logo

Comments (19)

swainet avatar swainet commented on August 17, 2024

希望能提供Wap版本,支持CSS3动画,触屏事件。

from switchable.

lizzie avatar lizzie commented on August 17, 2024

@swain 上回问你说不要支持 wap 啊...

from switchable.

swainet avatar swainet commented on August 17, 2024

@lizzie 如果你们要重构了,可以考虑下嘛。

from switchable.

lizzie avatar lizzie commented on August 17, 2024

@lianqin7

那加一点, 支持手机浏览器

看了下文档:

  • 精简版的和目前 switchable.js 中的, 只少了 hasTriggers/classPrefix/viewsize/step, 把 length 挪到了 this上, 下面的方法和事件都一样. 整体感觉没多少区别啊..
  • 完整版的, 看是增加了 triggerCreator 这个 Fn, 建议换成 tpl 字符串好了, 数据其实都是固定的, 只是 DOM 结构不同.
  • 延时加载的, 要不要考虑提取一个 datalazyload ? 或者直接把 KISSY 的拿过来好了.
  • className 的处理, 当时加是因为淘宝 KISSY 的 Switchable 都是有提供一套 默认 UI, 像店铺那些页面, 都是重 Switchable 依赖, 一个页面上满屏都是切换的也是很多的, 这样有些懒的使用者, 就直接一套就好, 不用再去另外写 css, 所以加了 ui-switchable 前缀的 class, 只要定义一下就好, 遇到个别不同的样式, 就稍加重置下样式即可. 那现在毕竟不在淘宝, 如果觉得 js 自动加 className 很恼人, 完全不加的话, 那就让使用者强制去自定义样式, 这就不纠结了.

from switchable.

lizzie avatar lizzie commented on August 17, 2024

还有就是, 支持动态添加 triggers 和 panels 的需求. 对于这点, 总是时不时会遇到同事问. 能支持就最好了.

from switchable.

lianqin7 avatar lianqin7 commented on August 17, 2024

@lizzie

length 挪到了 this 上这个应该是笔误,还是一个 attribute,和原来一样

可能是文档没写清楚,这边再补充下:

完整版与精简版

  • 精简版的功能:切换,data-api,简单动画效果,无视窗及步进概念,数据延时加载
  • 完整版增加的功能:自动播放,高宽自适应,复杂动画效果,增加视窗、步进值、上下页概念,trigger自生成
  • 到时候是否将2者合并可以再讨论。个人觉得精简版已经可以很好的服务 tabs 的场景了。而 tabs 基本用不到完整版的功能。 我们这边经常有人觉得 switchable 太重了,为了一个 tab 不值得而自己写代码去实现

dom 延时加载

  • 这里只提供一个最简单的功能,不考虑数据获取部分(这个应该由实际的业务逻辑或者2次开发承担),只考虑延时渲染dom。
  • 数据加载如果功能很强烈的话再考虑
<textarea data-role="lazy">
    <div>切换到这个panel的时候我才会被加载到dom树上,同时 data-role="lazy" 的textarea 会被移除</div>
</textarea>

大概只是这么简单的用法

triggerCreator

  • 字符串解决不了 trigger 个数的问题,如果用 handlebars 又要引入 templateable,感觉不值当。。这个再看看
  • 有了这个属性,hasTrigger 属性就没必要了。

class的问题

  • 目前只考虑 activeClass(当前trigger) 和 disabledClass(上下页),毕竟这2个非常常用。
  • trigger 自生成的 class 交由单独的属性解决

其他

  • 手机支持可以有,支持到的程度是?个人觉得先支持触屏事件,其他的我没什么移动开发经验,欢迎大家补充
  • add/remove Panel/Trigger 这个可以有,api再好好设计下(涉及到trigger的自动生成)。

from switchable.

lizzie avatar lizzie commented on August 17, 2024
  • DOM 延迟加载, 不考虑数据请求的话, 感觉没必要延迟加载啊..... 你们那边什么样情况只是 DOM 延迟渲染. 按照我一直的理解, 当减少请求数的延迟加载或延迟执行 script 才有实际意义啊, 只是 DOM 的延迟渲染, 感觉真没必要.
  • handlebars 在 spm build 时就转成编译函数了, 对 handlebars 不依赖了

手机端的需求, @swain 说下吧

from switchable.

wuzhao avatar wuzhao commented on August 17, 2024

我想不到什么场合下,需要 data-role="nav" 和 data-role="trigger" 同时定义,或者 data-role="content" 和 data-role="panel" 同时定义?

from switchable.

lizzie avatar lizzie commented on August 17, 2024

貌似没有同时需要定义 nav 和 trigger 的情况, 一般都只要其中一个就可.

from switchable.

lianqin7 avatar lianqin7 commented on August 17, 2024

@wuzhao nav 和 content 是语法糖,就不要一个个的定义 trigger 和 panel 了。优先级是 config.trigger > data-role="trigger" > data-role="nav"

@lizzie 对templateable的依赖去不掉

from switchable.

lizzie avatar lizzie commented on August 17, 2024

@lianqin7 哦, 我记错了, 还是对 handlebars 的 runtime 依赖. 但这个很轻啊, 就两三百的代码

from switchable.

wuzhao avatar wuzhao commented on August 17, 2024

我担心这个语法糖会导致混淆,因为使用者有更多选择了。能不能干掉其中一套?

from switchable.

afc163 avatar afc163 commented on August 17, 2024

data-role="lazy" 单独搞一个模块吧,不要放到 switchable 中,职责不一样。

from switchable.

lianqin7 avatar lianqin7 commented on August 17, 2024

@afc163 在这里只做 最最简单 的dom延时加载功能(特别是针对img),如果是数据层面的,再独立模块吧。

from switchable.

lifesinger avatar lifesinger commented on August 17, 2024

就一个要求:搞简单点啊

可以从现在的需求入手,先将不需要或过时的需求去掉,然后再设计。

2013/8/22 lianqin7 [email protected]

@afc163 https://github.com/afc163 在这里只做 _最最简单_的dom延时加载功能(特别是针对img),如果是数据层面的,再独立模块吧。


Reply to this email directly or view it on GitHubhttps://github.com//issues/26#issuecomment-23063182
.

王保平 / 玉伯(射雕)
送人玫瑰手有余香

from switchable.

ishenli avatar ishenli commented on August 17, 2024

弱弱的问一句,这个重构最终有结果了么?

from switchable.

lizzie avatar lizzie commented on August 17, 2024

没有...

from switchable.

liveme avatar liveme commented on August 17, 2024

aralejs已经全面停止更新了吗?

from switchable.

hotoo avatar hotoo commented on August 17, 2024

from switchable.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.