我正在尝试进行循环操作,以免一直为包含8张照片的Instagram小部件重写代码。每个循环都有自己的编号(例如,theme.instagram_img_1到theme.instagram_img_8)。但是,在循环中会涉及到一些外部变量,从而造成问题。
{% if theme.instagram_img_1 %}
<div class="col-12 col-sm-6 col-lg-3 pb30">
<a href="{{ theme.instagram_url_1 }}">
<figure>
<div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div>
<img src="{{ 'img-instagram-img-1.jpg' | url_asset }}" width="100%">
</figure>
</a>
</div>
{% endif %}
{% if theme.instagram_img_2 %}
<div class="col-12 col-sm-6 col-lg-3 pb30">
<a href="{{ theme.instagram_url_2 }}">
<figure>
<div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div>
<img src="{{ 'img-instagram-img-2.jpg' | url_asset }}" width="100%">
</figure>
</a>
</div>
{% endif %}
我希望循环总共进行8次。到目前为止,这是我想出的:
<div id="myHTMLWrapper"></div>
<script>
var wrapper = document.getElementById("myHTMLWrapper");
var myHTML = '';
for (var i = 0; i < 8; i++) {
myHTML += '{% if theme.instagram_img_' + (i + 1) + ' %}<div class="col-12 col-sm-6 col-lg-3 pb30">< a href = "{{ theme.instagram_url_1 }}" ><figure><div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div><img src="{{ 'img-instagram-img- ' + (i + 1) + '.jpg' | url_asset }}" width="100%"></figure></a></div>{% endif %}';
}
wrapper.innerHTML = myHTML
</script>
答案 0 :(得分:0)
此行有错误:
myHTML += '{% if theme.instagram_img_' + (i + 1) + ' %}<div class="col-12 col-sm-6 col-lg-3 pb30">< a href = "{{ theme.instagram_url_1 }}" ><figure><div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div><img src="{{ 'img-instagram-img- ' + (i + 1) + '.jpg' | url_asset }}" width="100%"></figure></a></div>{% endif %}';
更改此:
< a href = "{{ theme.instagram_url_1 }}" >
对此:
< a href = "{{ theme.instagram_url_' + (i + 1) + ' }}" >