Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как запомнить background у элемента (https://javascript.ru/forum/dom-window/48547-kak-zapomnit-background-u-ehlementa.html)

Verbal 08.07.2014 11:51

Как запомнить background у элемента
 
Вообщем вопрос написан в теме, нужно запомнить в какую-либо переменную бэкграунд кнопки.

krasovsky 08.07.2014 13:12

куда запомнить? что потом делать?
Как вариант
<button data-bg="url-to-bg.jpg"></button>

$('button').data('bg');//получаем урл картинки

Verbal 08.07.2014 13:55

мне надо заменять background.

т.е. в начале у кнопки такой background: #c0d83a url(/images/branding/buttons/btn-green-on-white-94x20.gif) no-repeat;

после чего я его меняю

if (CountSymbols() > maxLength) {
            btnButton.attr("disabled", "disabled");
            btnButton.css('background', '#DDDDDD');
            number = maxLength - CountSymbols();
            $("#count").html(number);
        }
        else {
            number = maxLength - CountSymbols();
            $("#count").html(number);
            btnButton.removeAttr("disabled");
        }


мне нужно если if-false, то в else применить обратно этот bacground к кнопки, но не тупо прописать, а брать тот который был у картинки в самом начал, что бы потом когда будут менять css, всё не поламалось

MallSerg 08.07.2014 13:59

var memory = element.style.background

Verbal 08.07.2014 14:11

Цитата:

var memory = element.style.background
с помощью этого не получается получить фон

MallSerg 08.07.2014 14:52

а что получается получить?

Verbal 08.07.2014 15:22

вот что выводит если делать как вы посоветовали

btnButton = $('#' + buttonId);
        memory = btnButton.style.background;
        //тут пишет ошибку uncaught typeerror cannot read property 'backgraund' of undefined
        txtTextarea.bind("input", function () {
            ChangeElementsState();


id кнопки 100% правильно, потому как если прописать
btnButton.css('background', '#DDDDDD');
она спокойно добавляет стиль к кнопки

MallSerg 08.07.2014 17:42

backgr[color red]a[/color]und скорее всего не объявлен
background есть всегда;

рони 08.07.2014 17:45

Цитата:

Сообщение от Verbal
memory = btnButton.style.background;

у btnButton нет style

MallSerg 08.07.2014 17:48

<input value="button1" type="button" onclick="alert(this.style)">
<input value="button2" type="button" onclick="alert(this.style)" style="background: #F00">

рони 08.07.2014 18:30

MallSerg,
и что должен продемонстрировать ваш код?

MallSerg 08.07.2014 19:24

без понятия

рони 08.07.2014 20:20

Цитата:

Сообщение от MallSerg
без понятия

забавно

krasovsky 09.07.2014 08:00

Ну так какие проблемы у тебя с data? пропиши data-bg="картинк-что-бил-в-самом-начал.жипеге" и оригинальный бэкграунд всегда с тобой - хоть из else его применяй , хоть из If, хоть из setInterval

рони 09.07.2014 12:48

лимит ввода символов с индикацией перебора
 
Verbal,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .btn  {
    background: #c0d83a url(/images/branding/buttons/btn-green-on-white-94x20.gif) no-repeat;
  }
  .err {
    background: #DDDDDD;
  }
  #count.err{
    color: #FF0000;
    background: #FFFF33;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var btnButton = $("#btn"), area = $("#symbols"), maxLength = area.data("maxlength");
       $("#count").text(maxLength);
	   area.on("input", function() {
	     var number = maxLength - this.value.length;
	     btnButton.prop("disabled", number < 0).add("#count")[(number < 0 ? "add": "remove")+"Class"]("err");
         $("#count").text(number||"max symbols");

      });
});
  </script>
</head>
<body>
<textarea id="symbols" name="" data-maxlength="5"></textarea>
<input id="btn" name="" type="button" value="ok" class="btn">
<span id="count"></span>
</body>
</html>


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