我正在使用phonegap 创建一个歌曲书应用程序。在index.html中,我在li
标签中有歌曲列表。当我点击某首特定歌曲时,它会在另一个本地 html 文件中打开该特定歌曲的歌词。
我想添加一个“收藏夹按钮”。单击“收藏夹”按钮后,我希望将该特定歌曲添加到收藏夹列表中。当用户打开最喜欢的页面时,它应该显示他们最喜欢的歌曲的列表,当他们单击最喜欢的页面中的歌曲时,它应该打开该特定歌曲的歌词 html 页面。
我是 HTML 的中级用户和 JavaScript 的初学者。
请帮我完成这个任务,
提前致谢。
最佳答案
因为这是一个“相当广泛”的问题,所以很难找到答案,但我建议创建一个数组,将最喜欢的歌曲存储到其中,然后当您打开 favorites.html 页面时,它获取数组,并将信息写入页面。
例如当在歌曲页面上单击收藏夹按钮时,它会写入:歌曲名称(exampleSong)、歌曲页面(exampleSong.html)以及您需要的其他随机详细信息,然后转到 favorites.html 应该获取一个文档就绪函数,该函数读取数组并写入页面。
抱歉,如果我帮不了那么多,但这是一个非常广泛的问题。
如果您需要帮助,这里是我创建的一些示例
(这会获取收藏夹数组,并将其打印出来)
var favorites = [
["ExampleSong", "exampleSong.html"],
["LorddirtCoolSong", "LorddirtCoolSong.html"],
["StackOverflowIsAwesome", "StackOverflowIsAwesome.html"]
];
var containerA = document.getElementById("favoritesA");
for (var i in favorites)
{
for (var j in favorites[i])
{
var newElement = document.createElement("p");
newElement.innerHTML = favorites[i][j];
containerA.appendChild(newElement);
}
}
var containerB = document.getElementById("favoritesB");
for (var i in favorites)
{
var newElement = document.createElement("p");
newElement.innerHTML = "<h4>Favorite Song " + i + "</h4>";
containerB.appendChild(newElement);
for (var j in favorites[i])
{
var newElement = document.createElement("p");
newElement.innerHTML = favorites[i][j];
containerB.appendChild(newElement);
}
}
var containerC = document.getElementById("favoritesC");
for (var i in favorites)
{
var newElement = document.createElement("p");
newElement.innerHTML = "<h4>Favorite Song " + i + "</h4>";
containerC.appendChild(newElement);
for (var j in favorites[i])
{
if(j == 1){
}else{
var newElement = document.createElement("p");
newElement.innerHTML = "<a href='" + favorites[i][1] + "'>" + favorites[i][j] + "</a>";
containerC.appendChild(newElement);
}
}
}
.favoriteSongs{
border: 2px solid black;
display: block;
}
<!--
EXAMPLE 1A: Print out the Favorites
-->
<hr>
<h2>Example 1A: Print favorites out</h2>
<div id='favoritesA' class='favorites'>
</div>
<hr>
<!--
EXAMPLE 1B: Now you know the order of the songs!
-->
<h2>Example 1B: Print favorites out with formatting</h2>
<div id='favoritesB' class='favorites'>
</div>
<hr>
<!--
EXAMPLE 1C: Link them
-->
<h2>Example 1C: Link to the page</h2>
<div id='favoritesC' class='favorites'>
</div>
<hr>
非常不言自明,它获取最喜欢的歌曲数组,以及名称和 url,获取容器,即 <div id='favorites'></div>
并将内容写入其中。
(哦等等,我刚刚注意到我花了这么长时间在这上面,哈哈哈。) 示例:
1A:我所做的就是搜索数组收藏夹,并打印出数组中的每一个内容。简单。
1B:略有不同,和上一个一样,不过我加了一个<h4>
数组中每个数组之前的标记。 (是的,数组里面的数组很令人困惑)。
1C:不是打印出数组中的两个数组,而是打印出数组中的第一个东西,并添加一个指向数组中的第二个东西的链接。已经很困惑了吗?只要读一遍你就会明白。
关于javascript - 如何在 html cordova android 应用程序中创建 'add to favourite' 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257840/