2013-03-11 84 views
0

我想在Javascript/Jquery中执行的操作是能够单击一个按钮(每个项目上的按钮),将它添加到数组中。这个数组然后会按顺序发布,当你点击一个收藏夹页面时。添加到收藏夹Array

我只是很难包围我的头如何这将工作。因为我可能希望数组中的每个项目都包含一些内容,例如描述项目的图片和文本。

在一般术语/示例中,如何设置?

+0

我知道至少有JSON,我将有一个对象数组。然后每个对象可以有一个数组本身(更不用说其他非数组属性)。 – VoidKing 2013-03-11 21:06:13

+0

您是否使用任何服务器端脚本? – VoidKing 2013-03-11 21:07:46

+0

不,只是在我的电脑上做这个练习。 – 2013-03-11 21:21:32

回答

1

有很多方法可以做到这一点。但是,我会用一个有点一般去 - 你可以扩展自己:

http://jsfiddle.net/TEELr/11/

HTML: 这只是创建与最喜欢的课不同的元素 - 这将是选择我们通过它检查一个元素是否被点击过。

<div class="favorite"><p>Add to favorites</p></div> 
<div class="favorite type2"><p>Just another favorite type</p></div> 

<button id="reveal"> 
    Reveal Favorites 
</button> 

JS:

每次点击的“最爱” CSS类的元素,它被添加到阵列 - 这也适用于与多个顶级元素(即有“最爱“CSS类)。

现在,当单击“显示收藏夹”按钮时,它将警告数组中的内容 - 按顺序点击(如问题所述)。

$(document).ready(function() { 
    var favorites = []; 
    var counter = 0; 

    $('.favorite').click(function() { 
     ++counter; 
     favorites.push("\"" + $(this).text() + " " + counter + "\""); 
    }); 

    $('#reveal').click(function() { 
     alert(favorites); 
    }); 
}); 

CSS:

简单的CSS只存在于演示目的,证明前一个点与多个CSS类选择:

.favorite { 
    width: 400px; 
    height: 50px; 
    line-height: 50px; 
    text-align: center; 
    display: block; 
    background-color: #f3f3f3; 
    border-bottom: 1px solid #ccc; 
} 

.favorite.type2 { 
    background-color: #ff3; 
} 

.favorite:hover { 
    cursor:hand; 
    cursor: pointer; 
} 
+0

当然,这个例子**可以被调整以支持JSON以及**。 – jrd1 2013-03-11 22:08:39