servises.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. let items = [
  2. {
  3. id: 1,
  4. title: "Дружбан-Плюс",
  5. text: "Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развитиягосударства. Таким образом, каждый человек в демократическом обществе получает определенныйнабор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя извышесказанного, можно заключить, что демократия – это возможность для каждого человекасвободно участвовать в непосредственном управлении своим государством, обществом и личнойсудьбой в конечном счете.",
  6. cost: "50 000 рублей"
  7. },
  8. {
  9. id: 2,
  10. title: "Дружбан-Прем",
  11. text: "Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развитиягосударства. Таким образом, каждый человек в демократическом обществе получает определенныйнабор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя извышесказанного, можно заключить, что демократия – это возможность для каждого человекасвободно участвовать в непосредственном управлении своим государством, обществом и личнойсудьбой в конечном счете.",
  12. cost: "50 000 рублей"
  13. }
  14. ]
  15. const redCross = document.getElementById('redCross')
  16. const informationTable = document.getElementById('informationTable')
  17. const backgroundPopup = document.getElementById('backgroundPopup')
  18. const contentPopup = document.getElementById('contentPopup')
  19. const proposalPopup = document.getElementById('proposalPopup')
  20. const tablePopup = document.getElementById('tablePopup')
  21. tablePopup.addEventListener('click',function(e){
  22. e.stopPropagation()
  23. })
  24. function resize() {
  25. informationTable.innerHTML=`
  26. <div class="tabular-line flex-row">
  27. <b>#</b>
  28. <b>Название</b>
  29. <b>Описание</b>
  30. <b>Стоимость</b>
  31. </div>
  32. `
  33. for ( let item of items){
  34. let div = document.createElement('div')
  35. div.classList.add("tabular-line")
  36. div.classList.add("flex-row")
  37. let id = document.createElement('p')
  38. let title = document.createElement('p')
  39. let textContent = document.createElement('p')
  40. textContent.classList.add('desc')
  41. let cost = document.createElement('b')
  42. div.id = item.id
  43. id.innerHTML= item.id
  44. title.innerHTML = item.title
  45. textContent.innerHTML = item.text.slice(0, 150) + '...'
  46. cost.innerHTML = item.cost
  47. div.appendChild(id)
  48. div.appendChild(title)
  49. div.appendChild(textContent)
  50. div.appendChild(cost)
  51. if( window.screen.width < 576){
  52. textContent.innerHTML = `<p class="blue-text">Подробнее...</p>`
  53. backgroundPopup.addEventListener('click', function(e){
  54. e.stopPropagation()
  55. backgroundPopup.classList.add('display-none')
  56. document.body.style.overflow = 'auto'
  57. })
  58. redCross.addEventListener('click', function(){
  59. backgroundPopup.classList.add('display-none')
  60. document.body.style.overflow = 'auto'
  61. })
  62. textContent.addEventListener('click', function(e){
  63. document.body.style.overflow = 'hidden'
  64. e.stopPropagation()
  65. backgroundPopup.classList.remove('display-none')
  66. proposalPopup.textContent = item.title
  67. contentPopup.textContent = item.text
  68. })
  69. }
  70. div.addEventListener('click', function(){
  71. let arr = Array.from(informationTable.children)
  72. for (let item of arr){
  73. if(item.classList.contains('active') && item.id !== div.id){
  74. item.classList.remove('active')
  75. const child = Array.from(item.children).find(elem=>elem.classList.contains('desc'))
  76. child.innerHTML = child.innerHTML.slice(0, 150) + '...'
  77. }
  78. }
  79. if(div.classList.contains('active')){
  80. div.classList.remove('active')
  81. textContent.innerHTML = item.text.slice(0, 150) + '...'
  82. }
  83. else{
  84. div.classList.add('active')
  85. textContent.innerHTML = item.text
  86. }
  87. })
  88. informationTable.appendChild(div)
  89. }
  90. }
  91. resize()
  92. window.addEventListener('resize', resize)