function closeModal() {
$('.modal-window, .modal-overlay').removeClass('active');
$('body').css('overflow-y', 'auto');
}
$('.modal-close').click(function (e) {
e.preventDefault();
closeModal();
});
$(this).keydown(function (eventObject) {
if (eventObject.which == 27) {
closeModal();
}
});
wp-includes/default-filters.php
:add_filter( 'the_content', 'capital_P_dangit', 11 );
...
add_filter( 'the_content', 'wptexturize' );
add_filter( 'the_content', 'convert_smilies', 20 );
add_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'shortcode_unautop' );
add_filter( 'the_content', 'prepend_attachment' );
add_filter( 'the_content', 'wp_make_content_images_responsive' );
...
add_filter( 'the_content', 'do_shortcode', 11 );
$('.menu ul li a').click(function(){
var el = $(this).attr('href');
$('html,body').animate({
scrollTop: $(el).offset().top - $("header").height()}, 1000);
return false;
});
3060 X1=100:Y1=160 3060 X1=100:Y1=160 3060 X1=180:Y1=160
3070 X2=260:Y2=160 3070 X2=340:Y2=160 3070 X2=400:Y2=160
3080 X3=180:Y3=21.4 3080 X3=260:Y3=21.4 3080 X3=250:Y3=419.8
ЗЫ: Как посчитать Y3 написал в комментариях.TriangleX = 100
TriangleY = 50
TringleSide = 300
Sqr32 = Sqr(3) / 2
TriangleHeight = TriangleSide * Sqr32
X1 = TriangleX
Y1 = TriangleY + TriangleHeight
X3 = X1 + TriangleSide
Y3 = Y1
X2 = X1 + TriangleSide / 2
Y2 = TriangleY
<div class="inputs">
<input><input><input>
</div>
<input class="concatenated">
<button class="show-result">show result</button>
<div class="result"></div>
document.querySelector('.inputs').addEventListener('input', function() {
document.querySelector('.concatenated').value = Array
.from(this.querySelectorAll('input'), n => n.value)
.filter(Boolean)
.join(';');
});
document.querySelector('.show-result').addEventListener('click', function() {
document.querySelector('.result').innerHTML = document.querySelector('.concatenated')
.value
.split(';')
.map(n => `<div>${n}</div>`)
.join('');
});
$('.inputs').on('input', function() {
$('.concatenated').val($('input', this)
.get()
.map(n => $(n).val())
.filter(Boolean)
.join(';')
);
});
$('.show-result').on('click', function() {
$('.result').html($('.concatenated')
.val()
.split(';')
.map(n => `<div>${n}</div>`)
.join('')
);
});
Всё верно, всё jQuery.noConflict() решает. У меня получилось, нужно его использовать вместе с анонимным объявлением функций javascript.
На сайте используется jQuery времён палеолита (1.3.2), я совмещал с 1.8.2.
В блоке head подключается старая jQuery.
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
Далее в body подключаю версию поновее:
<script type="text/javascript" src="<?= JS_HTTP?>jquery-1.8.2.min.js"></script>
<script type="text/javascript">var jQuery_1_8_2 = jQuery.noConflict();</script>
И далее обе версии доступны таким образом:
копировать в буфер
показать чистый исходник в новом окне
Скрыть/показать номера строк
печать кода с сохранением подсветки
1
(function($) {
2
//здесь располагается тот код, который работает со старой версией
3
})(jQuery);
4
(function($) {
5
//а вот здесь уже версия новая.
6
})(jQuery_1_8_2);
<!-- load jQuery 1.10.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
var jQuery_1_10_2 = $.noConflict(true);
</script>
<!-- load jQuery 3.2.1 -->
<script type="text/javascript" src="http://example.com/jquery-3.2.1.js"></script>
<script type="text/javascript">
var jQuery_3_2_1 = $.noConflict(true);
</script>
jQuery_3_2_1('#selector').function();