Цитата:
Вот изначально элемент черного цвета, на него навели он стал красным, убрали он снова черный. Если разрешение поменялось то при наведении один цвет а когда убрали другой цвет. |
Я пробую меня все местами и не понимаю синтаксиса, как он работает?
|
Цитата:
Цитата:
|
а : что такое?
И почему window.matchMedia('(min-width: 640px)') стоит как то не понятно, ведь это же условия которое нужно проверить |
Сергей Ракипов,
проба угадать, что вам нужно ... ))) <!DOCTYPE html> <html lang="ru_RU"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <style> .box { cursor: pointer; font-size: 24px; display: block; } .box2 { color: blue; font-size: 24px; display: block; } </style> <script> jQuery( document ).ready( function ( $ ) { $( '.box' ).hover( function () { // навели мышь на элемент $( '.box2' ).css( 'color', window.matchMedia('(min-width: 640px)').matches ? 'red' : 'orange'); }, function () { // убрали мышь с элемента $( '.box2' ).css( 'color', window.matchMedia('(min-width: 640px)').matches ? '' : 'Lime' ); } ); } ); </script> </head> <body> <div> <p class="box">Какой то текст</p> </div> <div> <p class="box2">Элемент</p> </div> </body> </html> |
Цитата:
читайте документацию, ссылка дана выше. |
Цитата:
|
Сергей Ракипов,
тут есть более профи по части телепатии и js))) |
Запутался, не смог. Думал на основе этого кода разберусь в основной задачи но все не просто оказалось.
<!DOCTYPE html> <html lang="ru_RU"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <style> body{ background: #000; font-family: Verdana; font-size: 16px; } .blok { margin: 40px 40px 40px 40px; display: flex; align-items: center; } .tekst { margin: 0px 20px 0px 0px; } .tekst a { color:#22AD1D; } .tekst a:hover { color:#fff; } .ikonka { width: 94px; height: 94px; } .ikonka_pryas { background-image: url(http://rakipov.ru/files/ikonka_prais_6.svg); background-repeat: no-repeat; background-position:center; background-size: 100%; } @media (max-width:640px){ .ikonka { width: 64px; height: 64px; } .ikonka_pryas { background-image: url(http://rakipov.ru/files/ikonka_prais_9.svg); background-repeat: no-repeat; background-position:center; background-size: 100%; } } </style> <script> jQuery( document ).ready( function ( $ ) { $( '.ssilka_prays' ).hover( function () { // навели мышь на элемент $( '.ikonka_pryas' ).css( 'background-image', 'url(http://rakipov.ru/files/ikonka_prais_8.svg)' ); }, function () { // убрали мышь с элемента $( '.ikonka_pryas' ).css( 'background-image', 'url(http://rakipov.ru/files/ikonka_prais_6.svg)' ); } ); } ); </script> </head> <body> <div class="blok"> <div class="tekst"> <a href="#" class="ssilka_prays">ПРАЙС ЛИСТ</a> </div> <div class="ikonka ikonka_pryas"> </div> </div> </body> </html> Вот как должно работать. Если разрешение экрана больше 640 пикселей то должна быть показана вот эта картинка ikonka_prais_6.svg если при этом разрешении навели на .ssilka_prays то картинка должна поменяться на ikonka_prais_8.svg если убрали то вернуть картинку назад. Если разрешение экрана меньше 640 пикселей то должна быть показана вот эта картинка ikonka_prais_9.svg если при этом разрешении навели на .ssilka_prays то картинка должна поменяться на ikonka_prais_10.svg если убрали то вернуть картинку назад. |
Подумал может не очень понятно. Вот я сделал на простом JS
Вот так должно работать только на JQ <!DOCTYPE html> <html lang="ru_RU"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <style> body{ background: #000; font-family: Verdana; font-size: 16px; } .blok { margin: 40px 40px 40px 40px; display: flex; align-items: center; } .tekst { margin: 0px 20px 0px 0px; } .tekst a { color:#22AD1D; } .tekst a:hover { color:#fff; } .ikonka { width: 94px; height: 94px; } .ikonka_pryas { background-image: url(http://rakipov.ru/files/ikonka_prais_6.svg); background-repeat: no-repeat; background-position:center; background-size: 100%; } @media (max-width:640px){ .ikonka { width: 64px; height: 64px; } .ikonka_pryas { background-image: url(http://rakipov.ru/files/ikonka_prais_9.svg); background-repeat: no-repeat; background-position:center; background-size: 100%; } } </style> </head> <body> <div class="blok"> <div class="tekst"> <a href="#" class="ssilka_prays">ПРАЙС ЛИСТ</a> </div> <div class="ikonka ikonka_pryas"> </div> </div> <script> let ssilka_prays = document.querySelector( ".ssilka_prays" ); let ikonka_pryas = document.querySelector( ".ikonka_pryas" ); let ssilka = () => { const windowInnerWidth = document.documentElement.clientWidth if ( windowInnerWidth >= 640 ) { ikonka_pryas.style.backgroundImage = "url('http://rakipov.ru/files/ikonka_prais_6.svg')"; let ssilka_2 = () => { ikonka_pryas.style.backgroundImage = "url('http://rakipov.ru/files/ikonka_prais_8.svg')"; }; ssilka_prays.addEventListener( "mouseover", ssilka_2 ); let ssilka_3 = () => { ikonka_pryas.style.backgroundImage = "url('http://rakipov.ru/files/ikonka_prais_6.svg')"; }; ssilka_prays.addEventListener( "mouseout", ssilka_3 ); } else if ( windowInnerWidth <= 640 ) { ikonka_pryas.style.backgroundImage = "url('http://rakipov.ru/files/ikonka_prais_9.svg')"; let ssilka_2 = () => { ikonka_pryas.style.backgroundImage = "url('http://rakipov.ru/files/ikonka_prais_10.svg')"; }; ssilka_prays.addEventListener( "mouseover", ssilka_2 ); let ssilka_3 = () => { ikonka_pryas.style.backgroundImage = "url('http://rakipov.ru/files/ikonka_prais_9.svg')"; }; ssilka_prays.addEventListener( "mouseout", ssilka_3 ); } console.log( windowInnerWidth ); }; window.addEventListener( "resize", ssilka ); ssilka(); </script> </body> </html> И у меня дополнительный вопрос а почему иногда иконка мигает, то есть навожусь и моргнуло а потом все норм работает, и так иногда происходит. |
Часовой пояс GMT +3, время: 13:35. |