html的元素选择,JS操作html元素3种(排他思想)选中元素的方式

88318391958e

web.jpeg

几种元素的选中方式

88318391958e

Untitled.gif

88318391958e

image.png

方式一 双重for循环

var oul = document.getElementById("oul");

var list = oul.children;

for(var i = 0; i < list.length; i ++){

list[i].onmouseover = function(){

for(var j = 0 ; j < list.length; j ++){

list[j].className = "";

}

this.className = "current";

}

}

这种方式适用于 少量的元素标签,如果过多稍微会影响性能

方式二 给对象添加属性或者 自定义属性

var oul = document.getElementById("oul");

var list = oul.children;

var lastIndex = 0;

for(var i = 0; i < list.length; i ++){

// 给这个对象 添加属性index属性

list[i].index = i;

list[i].onmouseover = function(){

list[lastIndex].className = "";

this.className = "current";

//更新

lastIndex = this.index;

}

}

方式三 操作元素

var oul = document.getElementById("oul");

var list = oul.children;

var selectObjc = list[0];

for(var i = 0; i < list.length; i++){

list[i].onmouseover = function(){

//清空原来的

selectObjc.className = "";

//选择现在的

this.className = "current";

//把现在的 赋值给原来的 更新

selectObjc = this;

}

}

不管哪种方式:其主要原理都是,清空之前的选中的,选中当前的元素

要实现HTML轮播效果圆点,可以使用CSS样式设置圆点的样式,并使用JavaScript控制圆点的选中状态。 首先,在HTML中创建轮播图和圆点: ```html <div class="slider"> <div class="slide"></div> <div class="slide"></div> <div class="slide"></div> </div> <div class="dots"> <span class="dot"></span> <span class="dot"></span> <span class="dot"></span> </div> ``` 然后,在CSS中设置圆点的样式: ```css .dot { display: inline-block; width: 10px; height: 10px; margin: 0 5px; border-radius: 50%; background-color: gray; } .dot.active { background-color: black; } ``` 最后,在JavaScript中实现轮播图圆点的选中效果(思想): ```javascript var dots = document.querySelectorAll('.dot'); var slides = document.querySelectorAll('.slide'); var currentSlide = 0; function showSlide(n) { slides[currentSlide].classList.remove('active'); dots[currentSlide].classList.remove('active'); slides[n].classList.add('active'); dots[n].classList.add('active'); currentSlide = n; } for (var i = 0; i < dots.length; i++) { dots[i].addEventListener('click', function() { var n = Array.prototype.indexOf.call(dots, this); showSlide(n); }); } setInterval(function() { var n = currentSlide + 1; if (n >= slides.length) { n = 0; } showSlide(n); }, 5000); ``` 这段代码中,我们首先获取了所有的圆点和轮播图,然后定义了一个`showSlide`函数,用于显示指定的轮播图和圆点。在点击圆点时,我们使用了`Array.prototype.indexOf.call`方法获取了当前点击的圆点在数组中的下标,然后调用`showSlide`函数显示对应的轮播图和圆点。最后,我们使用`setInterval`方法定时切换轮播图,并在切换时调用`showSlide`函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值