Advertisement
Guest User

Untitled

a guest
Dec 21st, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.61 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>document</title>
  6. <script src="jquery.js"></script>
  7. <style>
  8. /*стиль для всего контейнера*/
  9. .message {
  10. position: relative;
  11. width: 500px;
  12. border: 2px solid black;
  13. /*padding: 4px;*/
  14. background: #CCCCCC;
  15.  
  16. }
  17.  
  18. /*стиль для заголовка сообщения*/
  19. .messageHead {
  20. position: relative;
  21. }
  22. .textMessage, .messageHead {
  23.  
  24. padding: 5px;
  25. }
  26.  
  27. /*Позиционирование заголовка сообщения*/
  28. .message-title {
  29. float: left;
  30.  
  31. }
  32.  
  33. /*стиль который нужен для обоих кнопок.*/
  34. .close, .active {
  35. width: 0;
  36. height: 0px;
  37. /*отступы до внешней рамки, стили которой указаны в классе boxForActive*/
  38. margin: 2px;
  39. }
  40. /*кнопка вверх*/
  41. .active {
  42. border-left: 2.5px solid transparent;
  43. border-right: 2.5px solid transparent;
  44. border-bottom: 5px solid black;
  45. }
  46. /*кнопка в низ(закрыта)*/
  47. .close {
  48. border-left: 2.5px solid transparent;
  49. border-right: 2.5px solid transparent;
  50. border-top: 5px solid black;
  51. }
  52.  
  53. /*стиль для контейнера, необходимо задавать именно здесь, чтоб можно было указать рамку.*/
  54. .boxForActive {
  55. padding: 3px;
  56. border: 1px solid black;
  57. float: right;
  58. margin-top: 18px;
  59. margin-left: -15px;
  60. cursor: pointer;
  61. }
  62. /*отмена обтекания для сообщенияю*/
  63. .textMessage {
  64. clear: both;
  65. }
  66. /*поизционирование для горизонтальной лини*/
  67. .position {
  68. position: relative;
  69. clear: both;
  70. }
  71.  
  72. </style>
  73. </head>
  74. <body>
  75. <div class="message">
  76. <div class="messageHead">
  77. <h3 class="message-title">Просто название.</h3>
  78. <div class="boxForActive"><p class="type active"></p></div>
  79. </div>
  80. <div class="coteinerTextMessage">
  81. <p class="textMessage">Текст сообщение, что-то очень интересно, нужно прочитать, текст с сообщением ла ла ла</p>
  82. </div>
  83. <!--div который нужен что сообщение не выпало из контейнера-->
  84. <div class="position"></div>
  85. </div>
  86. <div class="message">
  87. <div class="messageHead">
  88. <h3 class="message-title">Веселое название.</h3>
  89. <div class="boxForActive"><p class="type active"></p></div>
  90. </div>
  91. <div class="coteinerTextMessage">
  92. <p class="textMessage">Текст сообщение, что-то очень интересно, нужно прочитать, текст с сообщением ла ла ла</p>
  93. </div>
  94. <!--div который нужен что сообщение не выпало из контейнера-->
  95. <div class="position"></div>
  96. </div>
  97. <div class="message">
  98. <div class="messageHead">
  99. <h3 class="message-title">Что -то другое.</h3>
  100. <div class="boxForActive"><p class="type active"></p></div>
  101. </div>
  102. <div class="coteinerTextMessage">
  103. <p class="textMessage">Текст сообщение, что-то очень интересно, нужно прочитать, текст с сообщением ла ла ла</p>
  104. </div>
  105. <!--div который нужен что сообщение не выпало из контейнера-->
  106. <div class="position"></div>
  107. </div>
  108.  
  109. <script>
  110. /*с помощью делегирования*/
  111. $(".message").on("click", function(event) {
  112. if($(event.target).hasClass(".boxForActive"))
  113. return false;
  114. //получение элемента с классом message
  115. var message = $(event.target).parents(".message");
  116. //получение элемента с клссом type(определяющий скрыто или нет сообщение).
  117. var type = $(".type", message);
  118.  
  119. //определение теущего и будующего класса, скрыто или нет сообщение.
  120. var nextTypeMessage = type.hasClass("active") ? "close" : "active";
  121. var currentTypeMessage = nextTypeMessage == "active" ? "close" : "active";
  122.  
  123. //удаление типа класса который указан на данный момент.
  124. type.removeClass( currentTypeMessage );
  125.  
  126. //добавление класса active / close
  127. type.addClass(nextTypeMessage);
  128.  
  129. //срытие и раскрытие сообщения
  130. $(".textMessage", message).slideToggle();
  131.  
  132. });
  133. </script>
  134.  
  135. </body>
  136.  
  137.  
  138. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement