Я пытаюсь добавить эффект перехода при переключении между проектами. Этот код в настоящее время работает, но я бы предпочел что-то вроде эффекта затухания при переключении проектов. Это возможно?Есть ли способ иметь эффект перехода при изменении innerHTML?
Here is a jsfiddle если это помогает вообще. Благодаря!
Мой код:
HTML
<body>
<div id="proj_name"></div>
<div id="proj_description"></div>
<img id="proj_img" src=""><br>
<button id="proj_switcher">Next Project</button>
</body>
JavaScript
/**
* Constructor function for Projects
*/
function Project(name, description, img) {
this.name = name;
this.description = description;
this.img = img;
}
// An array containing all the projects with their information
var projects = [
new Project('Project 1', 'Project 1 Description', 'http://bit.ly/1E0IzpX'),
new Project('Project 2', 'Project 2 Description', 'http://bit.ly/1FHLGOt'),
new Project('Project 3', 'Project 3 Description', 'http://bit.ly/1H5wRt7'),
new Project('Project 4', 'Project 4 Description', 'http://bit.ly/1ECIQht'),
new Project('Project 5', 'Project 5 Description', 'http://bit.ly/1CYeY9F')
];
// Cacheing HTML elements
var projName = document.querySelector('#proj_name');
var projDescr = document.querySelector('#proj_description');
var projImg = document.querySelector('#proj_img');
var projButton = document.querySelector('#proj_switcher');
// Index of the current project being displayed
var projIndex = 0;
projButton.addEventListener('click', function() {
projName.innerHTML = projects[projIndex].name;
projDescr.innerHTML = projects[projIndex].description;
projImg.src = projects[projIndex].img;
projImg.style.width = '250px';
projImg.style.height = '150px';
projIndex = (projIndex + 1) % projects.length;
});
В зависимости от типа перехода и того, насколько он сложный, вам может потребоваться «внеэкранный» буферный div, который вы переключаете между контентом для достижения этого. То есть, исчезают и исчезают одновременно, возможно, требуется 2 перекрывающиеся div (расположены по вертикали друг от друга), где один имеет непрозрачность 1, а другой - непрозрачность 0 и как переход, вводит новый контент в невидимый div и затем , установите постепенный переход на видимый div и затухают в невидимом div, и ваш код должен отслеживать, какой из них находится, поскольку вы будете переключаться между ними. –
@JimmyChandra Спасибо! Я, скорее всего, буду следовать вашим советам и использовать fadeOut и fadeIn div. – saadq