js.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. jQuery(function () {
  2. $('.infoblock').on('click', function(e){
  3. if( $('.FootnoteContainer-footnote').length > 0 ){
  4. $('.FootnoteContainer-footnote')[0].remove();
  5. }
  6. $('body').prepend("<div class='FootnoteContainer-footnote'><div class='Footnote-root'><button class='Footnote-dismiss'><img src='/img/close.svg' width='10px'></button><h3>"+$(this).attr('data-title')+"</h3>"+$(this).attr('data-info').replace(/\n/,'<br>')+"</div></div>" );
  7. var b = $('.FootnoteContainer-footnote')[0];
  8. console.log(e);
  9. $(b).css('top',e.pageY+'px');
  10. var wi = this.parentElement.clientWidth;
  11. var ds = document.documentElement.scrollWidth;
  12. if( wi+320 > ds ) wi = 2;
  13. $(b).css('left',wi+'px');
  14. if( $(this).attr('type') == '2' ){
  15. $('.Footnote-root').addClass('Footnote-type2');
  16. }
  17. $('.Footnote-dismiss').on('click', function(e){
  18. $('.FootnoteContainer-footnote')[0].remove();
  19. });
  20. });
  21. //подстроить фотки чуть меньшего размера до 100%
  22. var div = document.getElementById('post');
  23. img = $('.post img');
  24. $.each(img, function( ) {
  25. if( this.width > 0 ){
  26. if (this.width > div.offsetWidth-200) {
  27. $(this).css({'width': '100%', 'height': '100%'});
  28. }
  29. }
  30. this.onload = function(){
  31. console.log(div.offsetWidth);
  32. if (this.width > div.offsetWidth-200) {
  33. $(this).css({'width': '100%', 'height': '100%'}); //TODO: вот это всё вот очень спорно
  34. }
  35. }
  36. });
  37. img = $('.pic');
  38. $.each(img, function( index, value ) {
  39. width = Number($(this).css('width').replace('px',''));
  40. if ( width > div.offsetWidth-200) {
  41. $(this).css({'width': '100%'});
  42. }
  43. });
  44. /*
  45. $.each($('.post iframe'), function( index, value ) {
  46. width = Number($(this).css('width').replace('px',''));
  47. if (width > div.offsetWidth-300) {
  48. height = Number($(this).css('height').replace('px',''));
  49. h = height/width*div.offsetWidth;
  50. $(this).css({'width': '100%', 'height': h+'px'});
  51. }
  52. }); //попробую перенести в рендер Вот это меняется просто в цсс на .post iframe {width: 100%;height: auto;aspect-ratio: 16/9;} не все iframe 16.9
  53. */
  54. /*
  55. elVideo = document.getElementById('adv');
  56. elVideo.addEventListener('DOMNodeInserted', function () {
  57. console.log('start instream');
  58. vidDiv = document.getElementById('adv');
  59. vidDiv.classList.remove('overlayadv');
  60. }, false);
  61. */
  62. function resrec(){
  63. s = jQuery('#post').height()*jQuery('#post').width();
  64. sr = (s*0.05);
  65. hr = Math.round( sr/( jQuery('.med_advertisement').width() ) );
  66. // alert(hr);
  67. if( jQuery('.med_advertisement').height() < hr ){
  68. jQuery('.med_advertisement').height( hr );
  69. }
  70. jQuery('.med_advertisement').css({"display":"inline-block","width":"100%","line-height": "normal"});
  71. }
  72. resrec();
  73. (function($) {
  74. $.fn.textfill = function(options) {
  75. var fontSize = options.maxFontPixels;
  76. var ourText = jQuery('span:visible:first', this);
  77. var maxHeight = jQuery(this).height();
  78. var maxWidth = jQuery(this).width();
  79. var textHeight;
  80. var textWidth;
  81. do {
  82. ourText.css('font-size', fontSize);
  83. textHeight = ourText.height();
  84. textWidth = ourText.width();
  85. fontSize = fontSize - 1;
  86. } while ((textHeight > maxHeight || textWidth > maxWidth) && fontSize > 3);
  87. return this;
  88. }
  89. })(jQuery);
  90. $(document).ready(function() {
  91. jQuery('.med_advertisement').wrapInner('<span></span>');
  92. jQuery('.med_advertisement').textfill({ maxFontPixels: 100 });
  93. });
  94. $( window ).resize(function() {
  95. resrec();
  96. jQuery('.med_advertisement').textfill({ maxFontPixels: 100 });
  97. });
  98. $(document).ready(function() {
  99. $.ajaxSetup({ cache: false });
  100. });
  101. });
  102. function loadScript( url, time )
  103. {
  104. setTimeout( function(){
  105. var head = document.getElementsByTagName('head')[0];
  106. var script = document.createElement('script');
  107. script.type = 'text/javascript';
  108. script.async = true;
  109. script.src = url;
  110. head.appendChild(script);
  111. }, time );
  112. }