Hỏi về đoạn js này?

for(let i = 0 ; i < selector.length ; i++){
		    		var o = 0;
		    		var x = setInterval(function(){
						if( o >= 1){
							clearInterval(x);
						}else{
							o += 0.00005;
							selector[i].style.opacity = o + "";
						}	
					},1);
		    	}

sau khi chạy thu đc kết quả :
https://imgur.com/DzMF0AA.
Cho em hỏi làm sao để nó end thì = 1 a. ? Em cảm ơn

Trước hết bạn nhớ Markdown code lại cho mọi người dễ nhìn nhé ! Nhớ chỉnh luôn Category và tag phù hợp !

2 Likes

Chuyển for vô câu else

cũng bỏ vào như anh chỉ , mà có cũng >= 1 à ko như jquery

post code bạn đã sửa lên đây

var o = 0;
var x = setInterval(function(){
    if( o >= 1){
        clearInterval(x);
        o=1; //***
    }
    for(let i = 0 ; i < selector.length ; i++){
        selector[i].style.opacity = o + "";
    }
    o += 0.00005;
},1);

Câu else biến mất, thậm chí không biến mất cũng ko nên dùng cách này
Tính toán số thực chỉ tương đối nên khi cộng có thể nó ko bằng 1 dc đâu
Để chính xác hơn thì dùng số nguyên đi

o += 5
o >= 20000
opac = o/20000

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?