Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
82
rated 0 times [  85] [ 3]  / answers: 1 / hits: 50617  / 10 Years ago, wed, april 23, 2014, 12:00:00

Hi friends i want to fade in a div when i click on another div and for that i am using following code. Code1 works fine but i require to use the Code2.



I know there is jQuery but i require to do this in JavaScript



Can you guide me that what kind of mistake i am doing or what i need change...



Code1 --- Works Fine



function starter() { fin(); }

function fin()
{
for (i = 0; i <= 1; i += 0.01)
{
i=Math.round(i*100)/100;
setTimeout(seto( + i + ), i * 1000);
}
}

function seto(opa)
{
var ele = document.getElementById(div1);
ele.style.opacity = opa;
}


Code2 --- Does not work



function starter()
{
var ele = document.getElementById(div1);
fin(ele);
}
function fin(ele)
{
for (i = 0; i <= 1; i += 0.01)
{
i=Math.round(i*100)/100;
setTimeout(seto( + ele + , + i + ), i * 1000);
}
}

function seto(ele,opa)
{
ele.style.opacity = opa;
}

More From » fadein

 Answers
16

Based on this site



EDIT-1

Added the functionality so that user can specify the animation duration(@Marzian comment)


You can try this:



function fadeIn(el, time) {
el.style.opacity = 0;

var last = +new Date();
var tick = function() {
el.style.opacity = +el.style.opacity + (new Date() - last) / time;
last = +new Date();

if (+el.style.opacity < 1) {
(window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);
}
};

tick();
}

var el = document.getElementById(div1);
fadeIn(el, 3000); //first argument is the element and second the animation duration in ms


DEMO


[#71333] Tuesday, April 22, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
parker

Total Points: 259
Total Questions: 109
Total Answers: 97

Location: Zambia
Member since Thu, Jun 25, 2020
4 Years ago
;