关于作业问题
来源:3-10 作业题
weixin_慕的地5241954
2019-10-08 23:38:55
1、只有在下拉菜单上移出鼠标下拉菜单才可以消失,在标题( 我的IMOOC)上移出不会消失,用户体验不好。
建议:给标题和下拉列表添加一个共同的父级,把移入移出事件绑定到父级上。
这样绑定肯定要加一个div,会使原有css样式破坏,有更好的解决方案吗?
2、因为代码具有灵活性,这几种方法都是可以实现效果的。不管使用哪种能够实现就可以了,index1中第三种方式好些,因为进行了封装,其他地方如果需要的话,也是可以直接使用的。第三种也很常用。我的第4种方法是把正则判断封装一个函数,把显示内容封装一个函数,跟第三种比,哪种常用呢?
//第三种方法,pattern, ele,a, b, c这5个参数可以放在一个大对象里面,这个对象应该如何写,应该如何 传参呢?能写一段代码我看看嘛? function abc(pattern, ele, a, b, c){ var reg = pattern; reg.exec(ele.value) ? a.innerHTML = b : a.innerHTML = c; reg.exec(ele.value) ? a.style.color = 'green' : a.style.color = 'red'; console.log(this.value) } id.username.onblur = function(){ abc(pattern.usernameReg, id.username, showRlueSpans[0], showRlueSpansRight[0], showRlueSpansError[0]) }
//第四种方法 // 这种写法正则验证不了,打印的值是空?因为如果只是调用函数,只会执行一遍,而onblur方法中需要的 是 pe(pattern, ele)函数中的reg.exec(ele.value)值,而值需要用return来返回。 // 下面是正则验证的封装 function pe(pattern, ele){ var reg = pattern; return reg.exec(ele.value); } // 验证正确时展示的内容和样式函数封装 function showRlueSpansRight(showRlueSpans, showRlueSpansRight){ showRlueSpans.innerHTML = showRlueSpansRight; showRlueSpans.style.color = 'green'; } // 验证错误时展示的内容和样式函数封装 function showRlueSpansError(showRlueSpans, showRlueSpansError){ showRlueSpans.innerHTML = showRlueSpansError; showRlueSpans.style.color = 'red'; } id.username.onblur = function(){ pe(pattern.usernameReg, id.username)?showRlueSpansRight(id.showRlueSpans[0], showRlue.showRlueSpansRight[0]):showRlueSpansError(id.showRlueSpans[0], showRlue.showRlueSpansError[0]); }
3、同学想要怎么封装呢?可以详细描述下,其实同学的写法已经很简便了
我上面封装正则的方法常用吗?有没有什么缺陷?
5回答
同学你好,是想要下方截图中的效果嘛?
如果还有问题的话,建议新建问答哦
如果帮助到了你,欢迎采纳~祝学习愉快~
好帮手慕言
2019-10-09
同学你好,在同学的代码中已经封装了一个名为abc函数了呀。
如果还有问题的话,为了高效的为同学解答,建议新建一个问答进行提问哦
祝学习愉快~
好帮手慕言
2019-10-09
pattern, ele, a, b, c是形参,不用放到对象里面,直接写就可以了。实参可以放到一个对象里面
如果帮助到了你,欢迎采纳~祝学习愉快~
好帮手慕言
2019-10-09
同学你好,第四种方法同学是对正则进行封装,目的是在需要时在多处调用,如果与后端有交互,在使用ajax时会把用户名等信息发送到后端,后端会进行一些操作,比如查看用户名是否已经注册过了,后端处理完之后会返回一些数据,告诉我们是否可以正常注册。和我们封装的正则没有很大的关系哦,我们的正则是判断用户输入的内容格式是否符合我们规定的要求。同学可以先了解一下,关于ajax在后面有讲解。
如果帮助到了你,欢迎采纳~祝学习愉快~
好帮手慕言
2019-10-09
同学你好,
1、添加一个共同的父级是最简单常用的方式。调整样式就可以了。
2、第四种方式也不错。一般来说封装成函数,有利于多处调用,是很好的一种方式。
3、因为每个人书写代码的风格是不同的,因此常不常用需要根据自己来判断的哦。经过测试,没有发现缺陷。
从同学的作业中就可以看出同学是一个愿意思考和动手去实现的人,这点是非常棒的,一定要保持住呦。加油~
如果帮助到了你,欢迎采纳~祝学习愉快~
相似问题