Guest User

Untitled

a guest
Mar 22nd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. <?php
  2. //Add to functions.php in child theme
  3. function e_collapse_sections(){
  4. ?>
  5. <!-- Scripts and styles should enqueued properly but for the sake of having it all in one function...-->
  6. <script>
  7.  
  8. if ( self !== top ) { // Check if we're in a preview window / iframe
  9.  
  10. jQuery(document).ready(function($){
  11.  
  12. $("<li class='elementor-editor-element-setting elementor-editor-element-collapse' title='Collapse Section'><i class='eicon-v-align-bottom' aria-hidden='true'></i><span class='elementor-screen-only'>Duplicate Section</span></li>").appendTo("#elementor ul.elementor-editor-element-settings");
  13.  
  14. if (typeof(localStorage) == 'undefined') {
  15. document.getElementById("result").innerHTML =
  16. 'Your browser does not support HTML5 localStorage. Try upgrading.';
  17. } else {
  18. $(".elementor-section").each(function(i, el) {
  19. if (localStorage['collapse_state' + i] == 'collapsed') {
  20. $(this).addClass('collapsed');
  21. }
  22. });
  23. }
  24.  
  25. $('.elementor-editor-element-collapse').on('click', function() {
  26. var $item = $(this).closest('.elementor-section');
  27. var index = $('.elementor-section').index($item);
  28.  
  29. $item.toggleClass('collapsed');
  30. if ($item.hasClass('collapsed')) {
  31. console.log(index)
  32. localStorage.setItem('collapse_state' + index, 'collapsed');
  33. } else {
  34. localStorage.removeItem('collapse_state' + index);
  35. }
  36. });
  37. });
  38. }
  39. </script>
  40. <style>
  41. .elementor-editor-active #elementor .elementor-section.collapsed {
  42. max-height: 20px;
  43. margin: 20px;
  44. overflow: hidden;
  45. padding: 30px 0;
  46. border-radius: 5px;
  47. transition: .5s height;
  48. }
  49.  
  50. .elementor-editor-active #elementor .elementor-section.collapsed:after {
  51. position: absolute;
  52. content: "";
  53. left: 0;
  54. top: 0;
  55. width: 100%;
  56. height: 100%;
  57. background-image: linear-gradient(180deg,#41c9f4,#71d7f7);
  58. }
  59.  
  60. .elementor-editor-active #elementor .elementor-section.collapsed ul.elementor-editor-element-settings {
  61. top: auto;
  62. bottom: 0;
  63. border-radius: 4px 4px;
  64. }
  65.  
  66. </style>
  67. <?php
  68. }
  69. add_action( 'wp_footer', 'e_collapse_sections' ); // Is there a better hook? I couldn't find one.
Add Comment
Please, Sign In to add comment