原生js实现鼠标点击切换效果

今天之所以写一篇关于js的代码实现,一方面是因为个人习惯用jquery编写代码,另一方面是因为github这个大平台抛弃了jquery。

Jquery是一个js库,极大简化js编程,使用方便,兼容性好,这篇文章就以一个例子来说明jq和js的编写差别。

首先我们看一下效果图:

先看下html,样式就不展示了,根据个人爱好自己定

用jquery代码实现下:

用jquery库时一定得记得引用jquery文件,不然浏览器不识别用jquery编写的代码,代码如下

$(function(){
    $('.searchTypeList').click(function(){
        $(this).addClass('choose').siblings().removeClass('choose');
    })
})

是不是很简单,而如果使用原生js写:

(function(){
    // 检查是否含有类名
	function hasClass(obj,cls){
		return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
	}
    //增加类名
	function addClass(obj,cls){
		if(!hasClass(obj,cls)){
			obj.className+=" "+cls;
		}
	}
    //删除类名
	function removeClass(obj,cls){
		if(hasClass(obj,cls)){
			obj.className=obj.className.replace(new RegExp('(\\s|^)' + cls + '(\\s|$)'),'');
		}
	}
    //选择游戏类型
	var searchTypeList=document.getElementsByClassName('searchTypeList');
	for(var i=0;i<searchTypeList.length;i++){
		searchTypeList[i].onclick=function(){
			for(var j=0;j<searchTypeList.length;j++){
				removeClass(searchTypeList[j],'choose');
			}//删除所有choose类名
			addClass(this,'choose');//点击的增加choose类名,this指向searchTypeList[i]
		}
	}
})

到此完成,js写的真是复杂,还得考虑兼容,不过为了找到更好的工作,为了赚更多的钱,还是好好努力学习js吧,基础打扎实,不管以后出什么框架,去学习都不会有太大问题

猜你喜欢

转载自blog.csdn.net/qq_36764457/article/details/81458298