Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2021, 18:43
Новичок на форуме
Отправить личное сообщение для Alex83 Посмотреть профиль Найти все сообщения от Alex83
 
Регистрация: 02.07.2021
Сообщений: 5

Возврат к исходному состоянию после метода hover ()
Доброго времени суток!
Есть button с текстом внутри, идея чтобы при наведении курсора на button менялся текст на другой, реализовал следующим образом:

//HTML
<html>
<button class ="but"> текст<br> <span>выделенный текст</span>
</button>
</html>

//JQuery
<script>
$( document ).ready(function(){
$( ".but" ).hover(function(){ // задаем функцию при наведении курсора на элемент
$(this).text("подменный текст"); // задаем текстовое содержимое
}
});
</script>
все работает, но вот как сделать возврат текста к исходному не понимаю, добавление вторым аргументом function(){
$(this).text("первоначальный текст"); } не вариант, так как в первоначальном тексте кнопки имеется <span>

Кто может подсказать, как лучше реализовать возврат к исходному тексту, буду признателен.

Последний раз редактировалось Alex83, 03.07.2021 в 20:47.
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2021, 19:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,102

Alex83,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2021, 19:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,102

Alex83,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    .but{
        height: 50px;
        width: 100px;
        padding: 0;
        font-size: 12px;
    }
    .but span{
        font-weight: bold;
    }
    .but:hover{
         font-size: 0px;
    }
    .but:hover:after{
        font-size: 12px;
        content: attr(data-txt);
    }
    </style>
</head>
<body>
<button class ="but" data-txt="подменный текст"> текст<br> <span>выделенный текст</span>
</button>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 03.07.2021, 20:45
Новичок на форуме
Отправить личное сообщение для Alex83 Посмотреть профиль Найти все сообщения от Alex83
 
Регистрация: 02.07.2021
Сообщений: 5

Большое спасибо! Правильно я понимаю, что в данном случае использовать JS нецелесообразно/невозможно?
Ответить с цитированием
  #5 (permalink)  
Старый 03.07.2021, 21:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,102

Alex83,
можно и js, но зачем?
Ответить с цитированием
  #6 (permalink)  
Старый 03.07.2021, 21:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,102

Alex83,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .but {
            height: 50px;
            width: 100px;
            padding: 0;
            font-size: 12px;
        }
        .but span {
            font-weight: bold;
        }
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $(function() {
            $(".but").each(function(i, el) {
                    $(this).data("html", this.innerHTML);
                })
                .mouseenter(function() {
                    $(this).text("подменный текст");
                }).mouseleave(function() {
                    $(this).html($(this).data("html"))
                })
        });
    </script>
</head>
<body>
    <button class="but"> текст<br> <span>выделенный текст</span>
    </button>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 03.07.2021, 21:18
Новичок на форуме
Отправить личное сообщение для Alex83 Посмотреть профиль Найти все сообщения от Alex83
 
Регистрация: 02.07.2021
Сообщений: 5

А возможно подменить двустрочным текстом?

<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.but{
height: 50px;
width: 100px;
padding: 0;
font-size: 12px;
}
.but span{
font-weight: bold;
}
.but:hover{
font-size: 0px;
}
.but:hover:after{
font-size: 12px;
content: attr(data-txt);
}
</style>
</head>
<body>
<button class ="but" data-txt="подменный текст"> текст<br> <span>выделенный текст</span>
</button>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 03.07.2021, 21:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,102

Сообщение от рони
Alex83,
Пожалуйста, отформатируйте свой код!
Ответить с цитированием
  #9 (permalink)  
Старый 03.07.2021, 21:31
Новичок на форуме
Отправить личное сообщение для Alex83 Посмотреть профиль Найти все сообщения от Alex83
 
Регистрация: 02.07.2021
Сообщений: 5

Извиняюсь,пишу код с табуляцией, отправляю, сообщение отображается без табуляции...
Как возможно вставить в data-txt="подменный текст" двустрочный текст?
Ответить с цитированием
  #10 (permalink)  
Старый 03.07.2021, 21:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,102

Сообщение от Alex83
А возможно подменить двустрочным текстом?
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    .but{
        height: 50px;
        width: 100px;
        padding: 0;
        font-size: 12px;
    }
    .but span{
        font-weight: bold;
    }
    .but:hover{
         font-size: 0px;
    }
    .but:hover:before{
        margin-top: 14px;
        font-size: 14px;
        content: "подменный";
        color: rgba(255, 0, 0, 1);
    }
    .but:hover:after{
        margin-top: 14px;
        font-size: 12px;
        content: "текст";
        font-weight: bold;
    }
    </style>
</head>
<body>
<button class ="but" > текст<br> <span>выделенный текст</span>
</button>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат фокуса к полю редактирования после закрытия Ext.MessageBox danik.js ExtJS 0 08.12.2012 12:07
Как вернуть элементы к превоночальному состоянию после переноса? Randomizer jQuery 0 10.10.2012 21:32
Не работает hover() после добавление элемента в DOM jeysmook jQuery 17 10.06.2012 15:02
Почему может не работать mouseover после метода post/get vuler Общие вопросы Javascript 1 22.02.2012 13:28
Событие hover только после 2 секунд niksan jQuery 7 12.08.2010 14:16