V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
byn9826
V2EX  ›  问与答

关于用JS创造可拖动的层的问题

  •  
  •   byn9826 · 2012-01-11 23:48:02 +08:00 · 4149 次点击
    这是一个创建于 4701 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有二十个层,
    每个层中包含一个input用来传递和保存值,
    当所包含的input有值,则该input所在的层style:visible,无值则该层隐藏
    当拖动一个包含的input有值的div1 到 所包含的input无值的div2所在的位置的时,
    div1中input的值给div2中的input
    div1返回初始位并隐藏
    div2 style:visible
    每个input的值发生变化时,同时也将更新数据库中相应的位置

    在网上找了可移动div的代码,并实现了上面的功能

    但每一个div的判断句就要写350行代码,20个div总共快7000行代码了
    请问这样是否会影响网站打开速度,或者怎么样修改代码呢

    代码可见
    http://topic.csdn.net/u/20120110/23/b93f4d62-3d59-4781-8d19-303f8c81dfe5.html?52614
    4 条回复    1970-01-01 08:00:00 +08:00
    NemoAlex
        1
    NemoAlex  
       2012-01-12 00:01:30 +08:00
    这么多的 if 写的全部都是相似的代码?
    建议楼主把模型归纳一下,利用函数和对象来解决问题
    byn9826
        2
    byn9826  
    OP
       2012-01-12 00:23:07 +08:00
    @NemoAlex
    对啊
    二十个层有自己的位置,所以拖动其中任意一个层就会有19种选择,就是19个if,这就是350行
    然后要20个层就是20×350行
    我想把20个套用一个模型
    但楼主是新手,不知道怎么定义函数才会让每个层的事件不相互影响= =
    最后总是导致mouseup事件失灵……
    NemoAlex
        3
    NemoAlex  
       2012-01-12 00:47:58 +08:00
    @byn9826 正好睡不着,愿意帮你一下

    企鹅号 37382845
    Email/Gtalk [email protected]
    xiaoyao281
        4
    xiaoyao281  
       2013-03-14 16:09:19 +08:00
    @NemoAlex nemo 好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3276 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:51 · PVG 20:51 · LAX 04:51 · JFK 07:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.