JS如何对组件实现动态处理

这篇文章主要介绍了js如何对组件实现动态处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

组件的动态添加,p的复制

  对组件的动态处理是动态网页的必备技能。这种情况基本无法避免。就好比如客户需要填写表单,但具体要几个表单呢你是未知的,很多人的处理方式就是静态的陈列。比如直接写好十个表单放在网页上。这样的用户体验真的很差,我们需要根据客户的需求去动态的添加组件。当然有create方法去一个个创建,那当组件很多很复杂的时候呢?所以我们需要用一个p去把需要的组件框起来,直接一下子复制p中所有的组件。这里举个简单的小例子。去复制被需求的几个组件。

           

选择需要复制的次数

 

              1         2 3       

 

     

下面是被复制的

   function myfunction(){ var select = document.getElementById("s1"); //获得当前选中的值 var value = select.value; if(value==2){ var fatherp = document.getElementById("father"); var sonp = document.getElementById("son");var sonp2 = document.getElementById("son2"); //将fatherp中的所有内容 包括HTML标签 给son sonp.innerHTML = fatherp.innerHTML;sonp2.innerHTML = fatherp.innerHTML; } else if(value==3){ var fatherp = document.getElementById("father"); var sonp = document.getElementById("son");var sonp2 = document.getElementById("son2");var sonp3= document.getElementById("son3"); //将fatherp中的所有内容 包括HTML标签 给son sonp.innerHTML = fatherp.innerHTML;sonp2.innerHTML = fatherp.innerHTML;sonp3.innerHTML = fatherp.innerHTML; } }   

登录后复制

运行结果如图:

JS如何对组件实现动态处理JS如何对组件实现动态处理

这里的select框也用到了onchange的方法,虽然例子简单但体现了动态的思想。

缺点:当你的组件很复杂,例如伸缩框,Tab窗等,每个按钮都有自己的索引,每个表框都有自己的id,这个复制过去后,里面的索引id等都没有改变,会发生组件的冲突。而且复制出来的组件在源码里是没有的,想单独去更改复制出来的组件的某个功能是比较麻烦的。

2.组件的隐藏,p的隐藏与更改

为了方便源码的更改,但又想实现页面的“动态”,这里可以用一个小方法。将需要的组件陈列好,隐藏起来,当客户需要的时候再展现出来。

           

选择需要复制的次数

 

              1         2 3       

 

     

下面是被复制的

     

 

     

 function Hidden() { var select = document.getElementById("s1"); var p1 = document.getElementById("son1"); var p2 = document.getElementById("son2"); //1.获得当前选中的值 var value = select.value; if (value == 2) { p1.style.display = ''; } else if (value == 3) { p1.style.display = ''; p2.style.display = ''; }}

登录后复制

JS如何对组件实现动态处理JS如何对组件实现动态处理

可以看到文本的内容可以发生改变,和上面的方法不一样不再是单纯的复制。用户使用起来也有动态的感觉。但其实本质还是静态的网页。优点就是方便修改,可以做的种类很多。缺点也很明显,如何要100个甚至1000个表单呢?难道要提前写好这么多然后隐藏吗?

上面两种方法都是十分实用的,可以快速的完成客户的某些需求。适当的更改或者两种方法的结合带来的效果会更好。

以上就是JS如何对组件实现动态处理的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2775101.html

(0)
上一篇 2025年3月8日 14:18:17
下一篇 2025年3月8日 14:18:24

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JS+ajax实现php异步提交表单

    这次给大家带来JS+ajax实现php异步提交表单,JS+ajax实现php异步提交表单的注意事项有哪些,下面就是实战案例,一起来看一下。 很多时候需要异步提交表单,当表单太多是时候,一个个getElementById变得很不实际 当然,j…

    编程技术 2025年3月8日
    200
  • 深度剖析JavaScript 设计模式:多态

    这篇文章主要介绍了深度剖析JavaScript 设计模式:多态,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 多态的含义 同一操作作用于不同的对象上,可以产生不同的解释和不同的执行结构。也就是,给不同的对象发送…

    编程技术 2025年3月8日
    200
  • 如何解决vue开发中父组件添加scoped后无法修改子组件样式问题

    在vue的开发中,我们需要引用子组件,包括ui组件(element、iview)。但是在父组件中添加scoped之后,在父组件中书写子组件的样式是无效果的。去掉scoped之后,样式可以覆盖。但这样会污染全局样式,为了解决这个问题,vue-…

    编程技术 2025年3月8日
    200
  • 构造AJAX实现表单JSON转换的方法

    这次给大家带来构造AJAX实现表单JSON转换的方法,构造AJAX实现表单JSON转换的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax提交服务器数据, 整理一下转换方法。 HTML: 登录后复制 1.表单元素转QueryStri…

    编程技术 2025年3月8日
    200
  • SpringMVC环境Ajax异步请求JSON的方法

    这次给大家带来SpringMVC环境Ajax异步请求JSON的方法,SpringMVC环境Ajax异步请求JSON的注意事项有哪些,下面就是实战案例,一起来看一下。 一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意…

    2025年3月8日
    200
  • ajax读取Json数据的方法

    这次给大家带来ajax读取Json数据的方法,ajax读取Json数据的注意事项有哪些,下面就是实战案例,一起来看一下。 本文给大家分享一下,如何使用ajax读取Json中的数据。 一、基础知识 什么是json? JSON 指的是 Java…

    2025年3月8日
    200
  • js实现ajax分页(图文详解)

    这次给大家带来js实现ajax分页(图文详解),js实现ajax分页的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了js实现ajax分页的方法。分享给大家供大家参考,具体如下: Untitled Document*{mar…

    编程技术 2025年3月8日
    200
  • JS实现访问DOM对象指定节点的方法示例_javascript技巧

    这篇文章主要介绍了js实现访问dom对象指定节点的方法,结合实例形式分析了javascript针对dom元素节点属性相关操作技巧,需要的朋友可以参考下 本文实例讲述了JS实现访问DOM对象指定节点的方法。分享给大家供大家参考,具体如下: 一…

    2025年3月8日
    200
  • 常用的JS排序算法

    这次给大家带来常用的JS排序算法,使用JS排序算法的注意事项有哪些,下面就是实战案例,一起来看一下。 1.冒泡排序 var bubbleSort = function(arr) { for (var i = 0, len = arr.len…

    编程技术 2025年3月8日
    200
  • 怎样使用JS判断当前页面是否有滚动条

    这次给大家带来怎样使用JS判断当前页面是否有滚动条,使用JS判断当前页面是否有滚动条的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近在写插件的过程中,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,…

    2025年3月8日
    200

发表回复

登录后才能评论