[英]TouchTouch gallery doesn't function when gallery is loaded with .click function
我在這里有一個畫廊,其中有兩種狀態,按藝術家排序或按字符排序。 我有一個簡單的.click函數來進行適當的圖庫加載,該加載效果很好(如果加載緩慢,請計划制作一個預加載器或稍后再加載)。
除此之外,我還將TouchTouch圖庫用於移動版本。 它本身也可以很好地工作: 在沒有.click函數的情況下,它實際上是有效的。
當畫廊自己加載時,TouchTouch可以正常工作,但是當我使用.click函數加載時,它卻不能。
我嘗試將加載TouchTouch的腳本從外部main.js文件移動到主頁的標題和加載各個畫廊的php文件中,但是似乎沒有任何效果。 我假設這與它的加載時間有關,但是我對jQuery / etc的了解不夠,還不知道該怎么做。
.click函數:
$(document).ready(function(){
$("#m-sortby-artist").click(function(){
$("#mob-fanart").load("sort/byartist.php");
});
});
有問題的div:
<span id="m-sortby-artist">Sort by Artist</span> · <span id="m-sortby-char">Sort by Character</span></p>
<div id="mob-fanart"></div>
創建畫廊的XML(如果有用的話),但我不認為它真正包含在其中:
<div class="mobile">
<div class="gallery-mobile" data-gallery="one" id="m-sallie"></div>
<script>
var x,xmlhttp,xmlDoc
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "sort/byartist.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName("fanart");
div="<h3>By Sallie<br><span class='artist-link'>@ <a href='https://rigaffe.co.uk'>Rigaffe</a></span></h3>";
for (i = 0; i <82; i++) {
div += "<a href='images/fanart/";
div += x[i].getElementsByTagName("artist")[0].childNodes[0].nodeValue;
div += "/"
div += x[i].getElementsByTagName("filename")[0].childNodes[0].nodeValue;
div += "'><div class='";
div += x[i].getElementsByTagName("class")[0].childNodes[0].nodeValue;
div += "' style='background-image:url(images/fanart/";
div += x[i].getElementsByTagName("artist")[0].childNodes[0].nodeValue;
div += "/t/"
div += x[i].getElementsByTagName("filename")[0].childNodes[0].nodeValue;
div += ");'></div><div class='thumb-box'></div></a>";
}
document.getElementById("m-sallie").innerHTML = div;
</script>
</div>
初始化TouchTouch:
$(function(){
$('.gallery-mobile a').touchTouch();
});
TouchTouch代碼的大部分內容與開箱即用的內容相同,只是一些純粹的外觀樣式。
修復! 事實證明,有一個地方我沒有嘗試放置“ Initiate TouchTouch”腳本:就在主畫廊div的末尾。 成功!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.