А можно ли в конструкции .css('background', '') передавать URL бекграунда строкой?
Привет!
У меня такая конструкция: есть n блоков с бекграундами. У каждого свой. При mouseenter они пропадают. При mouseleave обратно появляются. Мне интересно: кто сталкивался с неявным заданием URL-адреса в .css()??? Можно ли его задавать в виде строковой переменной??? Я забиваю все изображения в массив array arr=array(n); arr[0]=' \'url(images/image0.png) no-repeat\' '; arr[1]=' \'url(images/image1.png) no-repeat\' '; ... arr[n]=' \'url(images/imagen.png) no-repeat\' '; Дальше организую обработку событий $('.block').on({ mouseenter: function() { $(this).css('backgroundImage', 'none'); }, mouseleave: function() { var number = $('.block').index(this); $(this).css('background', arr[number]); } }); Таким образом я узнаю индекс блока в наборе и в качестве URL в .css() забиваю элемент массива с указанием соответствующего пути. Таким образом - Ничего не работает! Поэтому и обращаюсь к вашему опыту. |
Coriolan161,
зачем плодить темы ... кто есть Цитата:
Цитата:
и Цитата:
|
рони,
number - это переменная для хранения индекса блока в наборе (блоков). var number = $('.block').index(this); |
Coriolan161,
а это что Цитата:
|
Coriolan161,
:( <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .capabilitySection-block{ height: 80px; float: left; width: 200px; background-image: url(http://javascript.ru/forum/images/ca_serenity/misc/logo.gif); background-repeat: no-repeat; background-size: 100% 100%; } .capabilitySection-label{ padding-top: 120px; } .capabilitySection-comment{ opacity:0; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { var arr = ['url(http://javascript.ru/forum/images/smilies/sad.gif)', 'url(http://javascript.ru/forum/images/smilies/cray.gif)', 'url(http://javascript.ru/forum/images/smilies/dance3.gif)']; $('.capabilitySection-block').on({ mouseenter: function() { $('.capabilitySection-label', this).stop(true, true).animate({ paddingTop: '0px' }, 'slow'); $(this).css('backgroundImage', 'none'); $('.capabilitySection-comment', this).stop(true, true).animate({ opacity: '1' }, 'slow'); }, mouseleave: function() { $('.capabilitySection-label', this).stop(true, true).animate({ paddingTop: '120px' }, 'slow'); var i = $('.capabilitySection-block').index(this); $(this).css('backgroundImage', arr[i]); $('.capabilitySection-comment', this).stop(true, true).animate({ opacity: '0' }, 'slow'); } }); }); </script> </head> <body> <div class="capabilitySection"> <div class="capabilitySection-block"> <p class="capabilitySection-comment">Появляющийся коммент</p> <p class="capabilitySection-label">Подпись</p> </div> <div class="capabilitySection-block"> <p class="capabilitySection-comment">Появляющийся коммент</p> <p class="capabilitySection-label">Подпись</p> </div> <div class="capabilitySection-block"> <p class="capabilitySection-comment">Появляющийся коммент</p> <p class="capabilitySection-label">Подпись</p> </div> <!--..... и таких блоков (capabilitySection-block)ещё пятеро--> </div> </body> </html> |
рони,
Всё. Окончательно разобрался. Осознал свои ошибки. |
Часовой пояс GMT +3, время: 07:12. |