Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает событие hover(); (https://javascript.ru/forum/jquery/65342-ne-rabotaet-sobytie-hover-%3B.html)

maxg5 13.10.2016 12:29

Не работает событие hover();
 
На сайте есть форма обратной связи с checkbox поверкой от спама.
Если выбран чекбокс, то нужно чтобы при наведении на кнопку оправить менялся её фоновый цвет.
Помогите разобраться почему не работает.
var result=$('input[type="checkbox"]').prop("checked");
if (result==true) {
	$('input [type="submit"]').hover(
	function() {
		$(this).css({'background':'black'}); 
	},
	function () {
		$(this).css({'background':'black'}).remove();
	}
	)
};

рони 13.10.2016 12:59

maxg5,
почему строка 2 не в строке 5?

рони 13.10.2016 13:04

maxg5,
$(function() {
    var result = $('input[type="checkbox"]');
    $('input[type="submit"]').hover(function() {
        if (result.prop("checked")) $(this).css({
            "background": "black"
        })
    }, function() {
        $(this).css({
            "background": ""
        })
    })
});

maxg5 13.10.2016 14:06

А если нужно добавить не css свойство, а класс.
Как правильно будет? У меня вот что получилось. Но не работает.
$(function() {
    var result = $('input[type="checkbox"]');
    $('input[type="submit"]').hover(function() {
        if (result.prop("checked")) $(this).addClass("hover_b");
    }, function() {
        $(this).removeClass("hover_b");
    })
});

рони 13.10.2016 14:21

Цитата:

Сообщение от maxg5
Но не работает.

:blink:
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
.hover_b {
  background-color: #FF00FF;
}

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    var result = $('input[type="checkbox"]');
    $('input[type="submit"]').hover(function() {
        if (result.prop("checked")) $(this).addClass("hover_b");
    }, function() {
        $(this).removeClass("hover_b");
    })
});

  </script>
</head>

<body>

<input type="checkbox">
<input type="submit">
</body>
</html>

maxg5 13.10.2016 14:37

Если разместить css класс в <head></head> то у меня тоже работает.
Я не до конца объяснил вопрос.
У меня стили в файле style.css активной темы сайта. Сайт на WordPress.
Можно как то брать стили из style.css файла?

рони 13.10.2016 17:51

maxg5,
расположение style.css никак не влияет на скрипт. проблема скорее в том что нет $ на момент работы скрипта, попробуйте заменить все $ на jQuery

maxg5 16.10.2016 13:31

Цитата:

Сообщение от рони (Сообщение 431608)
maxg5,
расположение style.css никак не влияет на скрипт. проблема скорее в том что нет $ на момент работы скрипта, попробуйте заменить все $ на jQuery

Все равно не работает.
Есть еще варианты?

рони 16.10.2016 13:43

maxg5,
делайте пример или ждите телепата

maxg5 16.10.2016 13:58

рони,
Если делаю пример, все работает.
А на самом сайте не работает скрипт.
Причем не один скирпт с сайта не работает со стилями из style.css.
Не знаю где искать ошибку. В WP?


Часовой пояс GMT +3, время: 20:10.