А можно ли в конструкции .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, время: 21:39. |