$('.js-line-wave').on('mouseenter, mousemove', function(e) {
// Здесь расчитывается относитеьное положение курсора чтобы от него считать синус
var offset = $(this).offset();
var relativeX = (e.pageX - offset.left);
var relativeY = (e.pageY - offset.top);
$('.line, .button_wave, .line_item').each(function(index, letter) {
var posx = index;
// Здесь нужно править магические числа, например вместо 352 надо ставить ширину элемента
//и ещё нужно править частоту волны и амплитуду, но я забыл формулы
var posy = Math.sin((index / 10 + relativeX / 352) * 180 / Math.PI) * 30 - 20;
// Здесь происходит применение синуса только к 30 элементам слева и справа от мышки
if ($(letter).position().left > relativeX - 30 && $(letter).position().left < relativeX + 30) {
$(letter).css("transform", "translateY(" + posy + "px)");
} else {
$(letter).css("transform", "translateY(" + 0 + "px)");
}
});
});
window.open("https://google.com","_blank")
<button id="open_google">Hello google!</button>
<script>
document.querySelector('#open_google').addEventListener('click', function(e) {
window.open("https://google.com","_blank");
});
</script>
p {
word-break: keep-all;
}
$('.text-click').click(function(){
$("input[name=info]").val($(this).attr("data-title"));
});
$('.text-click').click(function(){
$($(this).attr('href')).find('.class-img').attr('src', $(this).attr('data-src'));
});
mySwiper.on('slideChange', function () {
$('div').addClass('class');
});