我试图通过使用<div>
从数组中获取数据来更改一系列.each
上的文本。当我console.log
时,我可以看到相应的数据显示。但实际按钮全部显示Header 4
和Subtitle 4
$.each(steps, function(index) {
$(".map__step--headline").html(steps[index].header);
$(".map__step--subtitle").html(steps[index].subtitle);
console.log(steps[index].header);
console.log(steps[index].subtitle);
});
var steps = [
{
"header": "Header 1",
"subtitle": "Subtitle 1"
},
{
"header": "Header 2",
"subtitle": "Subtitle 2"
},
{
"header": "Header 3",
"subtitle": "Subtitle 3"
},
{
"header": "Header 4",
"subtitle": "Subtitle 4"
}
]
<div class="map__navigation">
<div class="map__step is-selected" data-id="1">
<p class="map__step--headline">tk-headline</p>
<p class="map__step--subtitle">tk-subtitle</p>
</div>
<div class="map__step" data-id="2">
<p class="map__step--headline">tk-headline</p>
<p class="map__step--subtitle">tk-subtitle</p>
</div>
<div class="map__step" data-id="3">
<p class="map__step--headline">tk-headline</p>
<p class="map__step--subtitle">tk-subtitle</p>
</div>
<div class="map__step is-last" data-id="4">
<p class="map__step--headline">tk-headline</p>
<p class="map__step--subtitle">tk-subtitle</p>
</div>
</div>
答案 0 :(得分:4)
你可能想要这样的东西:
<script>
$(window).load(function() {
if ($('.yes').css('display') == 'none') {
$('#button').css('display', 'block');
}
});
$(document).scroll(function () {
var y = $(this).scrollTop();
if (y > 300) {
$('#bottombadge, .bottomcta, .bottomandroid, .bottomapple').fadeIn();
if (($('.yes').css('display') == 'none')) {
/* (y > 300) AND (display IS "none") */
$('#bottombutton').fadeIn();
} else {
/* (y > 300) AND (display ISN'T "none") */
$('#bottombutton').fadeOut();
}
} else {
/* (y <= 300) */
$('#bottombutton, #bottombadge, .bottomcta, .bottomandroid, .bottomapple').fadeOut();
}
});
</script>
不要试图直接使用数组来填充html,而是让html从数组中确定它想要的内容。
因此,我们提取了我们感兴趣的元素列表并对它们进行迭代,使用它们的$('.map__step').each(function() {
var $this = $(this);
var index = $this.data('id') - 1;
$('.map__step--headline', this).html(steps[index].header);
$('.map__step--subtitle', this).html(steps[index].subtitle);
});
属性索引到数组中以获取所需的数据。
答案 1 :(得分:2)