Попытка удалить и добавить класс для одиночного элемента события, прокрутка и функция цвета радуги - PullRequest
0 голосов
/ 30 августа 2018

Блок кода нарушителя

function changeEventDetails(event) {
var src = 'https://www.google.com/maps/search/?api=1'
var locationURI = encodeURI(event.location)
// window.history.state.eventOpen = true
// var currState = window.history.state
// window.history.pushState(currState, null, "")
$('.calEvent .rainbow').text(event.title)
$('#eventID').text(event._id)
$("#startTime").html(moment(event.start).format('MMM Do h:mm A'));
$("#endTime").html(moment(event.end).format('MMM Do h:mm A'));
if (event.location == null) {
  $('#location').html("N/A")
} else {
  $('#location').html(event.location)
}
if (event.description == null) {
  $("#eventInfo").html("N/A")
} else {
  $("#eventInfo").html(event.description);
}

$("#eventLink").attr('href', event.url);
// $('#mapContainer').html('<iframe \
//       frameborder = "0" \
//       style = "border:0" \
//       src = ' + src + '&query=' + locationURI + ' \
//       allowfullscreen> \
//       </iframe>')
$('#viewMapLink').attr('href', src + '&query=' + locationURI)
// $('.fc-content:contains('+event.title+')')[0].scrollIntoView(true, {
//   behavior: 'smooth',
//   block: 'start'
// })

TweenMax.to($('#Calendar'), .5, {
  scrollTo: {
    y: $('.fc-content:contains(' + event.title + ')')[0],
    // offsetY: 50
  }
})

if($('.rainbow2').length >= 1 ){
  $('.rainbow2').removeClass()
  $('.fc-content:contains('+event.title+')').addClass('rainbow2')
} else {
  $('.fc-content:contains('+event.title+')').addClass('rainbow2')
}
console.log(event.title)

}

Блок, который в особенности разбивается, является if('.rainbow2') частью. После его удаления все работает нормально. При добавлении функции ScrollTo из разрывов gsap и радужный фон на выбранном элементе полностью исчезает.

https://github.com/maxcr/testytest

Я принимал репозиторий github, но для его запуска вам понадобится dugway

https://github.com/bigcartel/dugway

после установки создайте новый проект Dugway. Перейдите в dir и клонируйте мой проект, чтобы перезаписать любые файлы с таким же именем. Затем dugway server и в другом терминале перейдите на источник и npm run watchProd

1 Ответ

0 голосов
/ 30 августа 2018

$('.rainbow2').removeClass() удалит все классы из выбранных элементов. Чтобы просто удалить класс rainbow2, вам нужно

$('.rainbow2').removeClass('rainbow2')

...