当前位置: 首页 > news >正文

做一个简单的网站多少钱网页qq空间登录入口

做一个简单的网站多少钱,网页qq空间登录入口,技术支持 天空网络-临汾做网站,怎么做网页粗略布局图标题小标题一、错误尝试二、时间控件二次渲染的3种方法2.1 直接删除原来绑定时间控件的DOM#xff0c;再重新渲染#xff08;推荐#xff09;#xff1b;2.2 使用 clone() #xff0c;并且改变 lay-key#xff1b;2.3 使用 clone() #xff0c;并且删除 lay-key#xf…标题小标题一、错误尝试二、时间控件二次渲染的3种方法2.1 直接删除原来绑定时间控件的DOM再重新渲染推荐2.2 使用 clone() 并且改变 lay-key2.3 使用 clone() 并且删除 lay-key推荐三、通过一个按钮清空时间限制不通过二次渲染清空时间控件的时间限制四、清空 range:true 的日期范围控件开始时间和结束时间用的一个输入框的日期范围控件五、使用 laydate 需要注意的地方总结 第一次使用 Layui太多坑需要注意了这里总结一下并且找到了4种清空重置时间控件的方法。 一、错误尝试 这个地方我把 layDate 作为独立组件使用的自己给了一个按钮想让时间控件清空重置想当然的在重置方法里重新渲染时间控件输入框的数据被清空了但是时间控件的时间限制没有被清掉。 div classtimeOrange p选择时间范围/pdiv classtimeOrange-input input typetext classind2 cloneStart idstartTime placeholder开始时间 autocompleteoff readonlyspan - /spaninput typetext classind2 cloneEnd idendTime placeholder结束时间 autocompleteoff readonly/div /div script function loadTime() { //记住 loadTime() 这个函数后面会用到就不再重写了var startT laydate.render({elem: #startTime, //指定元素type: time,format:HH:mm,max: 23:59:59,done: function(value, date){endT.config.min {year: date.year,month: date.month -1,date: date.date,hours: date.hours,minutes: date.minutes,seconds: 0}}});var endT laydate.render({elem:#endTime,type: time,format:HH:mm,done: function(value, date){startT.config.max {year: date.year,month: date.month -1,date: date.date,hours: date.hours,minutes: date.minutes,seconds: 0}}}); } loadTime();//重置操作 $(button:first).click(function(){$(#startTime).val(); //清空开始时间输入框$(#endTime).val(); //清空结束时间输入框//或者通过each循环选到所有input//$(input).each(function(){// $(this).val(); //使所有输入框的值为空//});loadTime(); //再次渲染日期与时间控件 }) /script网上查资料知道laydate.render() 只是在第一次渲染起作用不能重新渲染。要想重新渲染需要删除元素再重新插入这个元素。 二、时间控件二次渲染的三种方法 2.1 直接删除原来绑定时间控件的DOM再重新渲染 //重置操作 $(button:first).click(function(){$(#startTime).remove(); //删除开始时间的input元素$(#endTime).remove(); //删除结束时间的input元素$(.timeOrange-input span).before(input typetext classind2 cloneStart idstartTime placeholder开始时间 autocompleteoff readonly); $(.timeOrange-input span).after(input typetext classind2 cloneEnd idendTime placeholder结束时间 autocompleteoff readonly);loadTime(); //再次渲染日期与时间控件 })这种方法是最直观有效的我个人不想要这种直接插入一个完整DOM元素的写法 2.2 使用 clone() 并且改变 lay-key jQuery中有一个 clone() 的方法它可以用来克隆元素给这个方法添加参数 true就可以克隆该元素身上的方法即clone(true)。 1. 直接克隆元素 直接删除原来的元素再插入 clone(true) 后的时间控件的元素和方法然后重新渲染重置后再点击输入框时间控件不会再弹出来。 //重置操作 $(button:first).click(function(){$(#startTime).val(); //清空开始时间输入框$(#endTime).val(); //清空结束时间输入框var cloneStartTime $(.cloneStart).clone(true); //由于id的唯一性最好克隆class名称var cloneEndTime $(.cloneEnd).clone(true);$(#startTime).remove(); //删除开始时间的input元素$(#endTime).remove(); //删除结束时间的input元素$(.timeOrange-input span).before(cloneStartTime); //插入克隆元素$(.timeOrange-input span).after(cloneEndTime);loadTime(); //再次渲染日期与时间控件 })2. 只改写 lay-key 经过一番查阅在博主 落枫_rain 的博客上看到 lay-index 这个属性他说了一下个人理解“laydate渲染后所附带的 lay-index 会被载入缓存所以再次渲染时不会重新去渲染。所以修改 lay-index 标识的值让它在渲染器眼里变成一个新的组件即可去重新渲染它”。 因此我打开控制台发现 laydate 给每个绑定时间控件的元素加了一个 lay-key的属性和属性值。 根据他的提示以及代码我只改变 lay-key 的值点击按钮后时间控件可以被弹出来但是时间限制还是没有被清空掉。 //重置操作 $(button:first).click(function(){$(#startTime).val(); //清空开始时间输入框$(#endTime).val(); //清空结束时间输入框var startKey parseInt($(#startTime).attr(lay-key)) 2; //这里的值加多少主要看你有几个时间控件var endKey parseInt($(#endTime).attr(lay-key)) 2;$(#startTime).attr(lay-key, startKey); //改写绑定时间控件的元素中 lay-key 的值$(#endTime).attr(lay-key, endKey);loadTime(); //再次渲染日期与时间控件 })3. 最终写法 于是结合了二者发现达到了重置效果。 //重置操作 $(button:first).click(function(){$(#startTime).val(); //清空开始时间输入框$(#endTime).val(); //清空结束时间输入框var startKey parseInt($(#startTime).attr(lay-key)) 2; //这里的值加多少主要看你有几个时间控件var endKey parseInt($(#endTime).attr(lay-key)) 2;var cloneStartTime $(.cloneStart).clone(); //因为要重新渲染所有可以不用加truevar cloneEndTime $(.cloneEnd).clone();cloneStartTime.attr(lay-key, startKey); //注意这里要给克隆的元素添加cloneEndTime.attr(lay-key, endKey);$(#startTime).remove(); //删除原本的input元素$(#endTime).remove(); $(.timeOrange-input span).before(cloneStartTime); //插入克隆元素$(.timeOrange-input span).after(cloneEndTime);loadTime(); //再次渲染日期与时间控件 })2.3 使用 clone() 并且删除 lay-key 第二种方法可行但是代码量较多还不如第一种于是又去找了找其他资料信息主要参考了 https://www.freesion.com/article/87466321/这里提出了删除克隆元素中的 lay-key 的方法。 //重置操作 $(button:first).click(function(){$(#startTime).val(); //清空开始时间输入框$(#endTime).val(); //清空结束时间输入框var cloneStartTime $(.cloneStart).clone(); //由于id的唯一性最好克隆class名称var cloneEndTime $(.cloneEnd).clone();cloneStartTime.removeAttr(lay-key); //注意这里要给克隆的元素添加cloneEndTime.removeAttr(lay-key);$(#startTime).remove(); //删除原本的input元素$(#endTime).remove(); $(.timeOrange-input span).before(cloneStartTime); //插入克隆元素$(.timeOrange-input span).after(cloneEndTime);loadTime(); //再次渲染日期与时间控件 })在 2.2 中我们可以知道laydate 给每个绑定时间控件的元素加了一个 lay-key属性和属性值。所以这里删除 lay-key再渲染时间控件时laydate 会给时间控件重新绑定一个 lay-key属性和属性值。 其实这一点 在 2.1 中就有体现 ① 首次渲染时laydate 给 input#startTime 和 input#endTime 添加了lay-key属性和属性值 ② 点击重置按钮后当我们删除 input#startTime 和 input#endTime 这两个DOM 元素时就连同它们上面的lay-key 和它的值也被删除了 ③ 然后我们再通过 before() 和 after() 插入元素 input typetext classind2 cloneStart idstartTime ...可以观察到我们在插入元素时并没有给这个元素添加 lay-key 属性。 ④ 最后 使用 loadTime() 再次渲染时间控件渲染后给绑定的元素身上又添加了一个 lay-key属性和属性值。 三、通过一个按钮清空时间限制 除了上面3种强制重置时间控件并且二次渲染的写法外如果只是想清空时间限制可以采用下面的这种写法这里是根据 十七gril 的博客得到的启发。 var startT laydate.render({ //把渲染元素var一下保存起来elem: #startTime, //指定元素type: time,format:HH:mm,max: 23:59:59,done: function(value, date){ endT.config.min {year: date.year,month: date.month -1,date: date.date,hours: date.hours,minutes: date.minutes,seconds: 0}} });var endT laydate.render({elem:#endTime,type: time,format:HH:mm,done: function(value, date){startT.config.max { //注意开始时间是maxyear: date.year,month: date.month -1,date: date.date,hours: date.hours,minutes: date.minutes,seconds: 0}} }); } //重置操作 $(button:first).click(function(){$(#startTime).val(); //清空开始时间输入框$(#endTime).val(); //清空结束时间输入框 var d new Date();startT.config.max { //注意开始时间是maxyear: d.getFullYear(), //获取当前的年month: d.getMonth(), //获取当前的月date: d.getDate,hours: 23, //开始时间最大小时位23minutes: 59,seconds: 59}endT.config.min {year: d.getFullYear(),month: d.getMonth(),date: d.getDate,hours: 0,minutes: 0,seconds: 0} })四、清空 range:true 的日期范围控件 有了上面的方法清空日期范围控件就很简单了。 div classlayui-input-inline date-inputinput typetext namedate iddate autocompleteoff classlayui-input date-icon placeholder请选择时间范围 /div// 日期范围 初次渲染 laydate.render({elem: #date,range: true,value: ,done: function(value, date, endDate){console.log(value,date,endDate);} });//点击按钮清空日期范围控件 $(.searchBtn).on(click, function(){clearDate(); })//清空date日期范围控件 function clearDate(){ //删除原本的input元素清除日期控件的缓存再到DOM中插入日期控件并渲染$(#date).remove(); //删除开始时间的input元素$(.date-input).append(input typetext namedate iddate autocompleteoff classlayui-input date-icon placeholder请选择时间范围)//再次渲染日期时间范围laydate.render({elem: #date,range: true,done: function(value, date, endDate){console.log(value,date,endDate);}}); }五、使用 laydate 过程中需要注意的地方 这里在 layui清空时间控件后无法使用的解决方法 上补充几点 5.1 laydate.render 无法重复渲染 当 laydate.render 对应一个elem已经渲染过一次之后我们是无法通过再次渲染来修改其中的 max值 与 min值 的。 5.2 startT.config.max 与 endT.config.min 是一个对象不是一个字符串 不同于我们渲染时直接写时间限制的 min: 00:00:00 与 max:23:59:59 startT.config.max 是一个对象直接 startT.config.max 2019-02-16 这样赋值是没有效果的。 当我们不清楚一个变量值时可以把它打印出来 var startT laydate.render({elem: #startTime, //指定元素type: time,format:HH:mm,max: 23:59:59,done: function(value, date){console.log(选择时间后的date,date)console.log(选择时间后的startT.config.max,startT.config.max)}} }); console.log(首次打印startT.config,startT.config);现在是2021.2.8可以清楚的看到startT.config.max 与 startT.config.min 中的max、min都属于 startT.config 的属性它们的值是一个对象。 有一点比较懵我直接 console.log(首次打印startT.config.max,startT.config.max); 刷新时会在字符串和对象之前转换。如果设置了 max: 23:50:56字符串就是设置的值若没有设置字符串就是max 的默认值。 5.3 done回调函数中的参数 date 的格式与 startT.config.min 格式相同但是直接让 startT.config.mindate 可能会出问题 虽然 date 中的数据是你选择的日期但是 startT.config.min 中设置的 month 的值比你输入的month 的要值大了一个月。 从4.2 中的截图我们可以看到现在是 2021.5.8done 中的 month 为 5而 startT.config.max 中的 month 为 4因此当你使用 done 中的参数 date 给 startT.config.max 设置月份时date.month 需要减一。 5.4 日期与时间控件闪没 https://www.cnblogs.com/wfbky/p/13132687.html 当页面高度不够时高度不够指的是 input输入框下面的页面高度 小于 时间控件的高度时间控件点击以后 会闪没当退出页面 再返回以后时间控件正常出现 解决方法将触发 方法 改为 click。 laydate.render({elem: #date,trigger: click });效果无论是否 高度足够均可以出现 控件 当高度不够时会遮挡 input输入框。 laydate插件之坑——渲染问题【删除再渲染】 LAYUI前框框架laydate日期组件重新渲染【lay-key的问题】 layui清空时间控件后无法使用的解决方法【3个坑】 关于layui踩过的坑
http://www.yutouwan.com/news/149807/

相关文章:

  • 绿植租摆网站建设外贸网站和内贸
  • 网站背景素材wordpress主题加速插件
  • 网站设计要先做图么苏州园区限电
  • 网站模板如何使用 如何修改吗Checkout v1.4.1 WordPress主题
  • 做个营销型网站网站应该设计成什么样
  • 5个免费安全的资源网站wordpress破解汉化版
  • 自适应网站建设特点天眼查询企业
  • 欧美动物人物ppt免费模板下载网站佛山市企业网站建设平台
  • 政协系统网站建设佛山网站快速优化排名
  • 买房子怎么找房源天津网站优化多少钱
  • 做网站 证书 浏览器学校网站建
  • led高端网站建设重庆网站seo设计
  • 上海一家做服饰包鞋穿上用品的网站做编程的 网站有哪些内容
  • 大良营销网站建设平台wordpress xmlrcp
  • 四川高端网站建设公司网站建设重要性
  • 辽阳专业网站开发公司网页设计的就业和发展前景
  • jpress和wordpress哪个好北京网站设计知名乐云seo
  • 网站开发如何支持ipv6电子商务网站建站
  • 制作个人网站怎么做江苏专业网站建设
  • 云主机 多个网站猪价大涨已成定局
  • 济南三合一网站建设物流服务与管理
  • 网站建设 发短信文案利用网站做蜘蛛池
  • 深圳手机端网站建设设计公司什么网络公司比较好
  • 海阳手机网站开发优品ppt模板免费下载
  • 好的网页网站设计给客户做网站建设方案
  • 三五互联做网站怎么样前端用什么框架做网站
  • 二级网站建设方案模板网站内的搜索是怎么做的
  • 包小盒设计网站官网上海软件有限公司
  • 做网站 视频加载太慢竞价排名软件
  • 优购物官方网站地址wordpress如何创建项目