问问题
152 次
1 回答
1
我将 ID 更改为唯一的。我还更改了 alt 属性以区分最后一个元素。
I <i class="alt1" id="text0" data-text='["like","love"]'>like</i> <i class="alt1" id="text1" data-text='["her","you"]'>her</i>, but I don't know <i class="alt2" id="text2" data-text='["him","you"]'>him</i>.
$('.alt1').click(function () {
$('.alt1').each(function(i,e){
swapText($(e));
});
});
$('.alt2').click(function () {
swapText($(this));
});
function swapText(alt) {
var texts = alt.data('text');
var current_text = alt.text();
if(current_text==texts[0]) {
alt.text(texts[1]);
} else {
alt.text(texts[0]);
}
}
编辑
我写了更多的“通用”脚本。我为每个元素使用 2 个类名:alt 和 text 其中是组号。
http://jsfiddle.net/mattydsw/H2yeR/2/
$('.alt').click(function () {
var className = $(this).attr("class");
className = className.split(' ');
className = className[1];
$('.alt.'+className).each(function(i,e){
swapText($(e));
});
});
function swapText(alt) {
var texts = alt.data('text');
var currentText = alt.text();
var currentIdx = alt.data('i');
if(currentIdx==undefined) {
currentIdx = 0;
}
currentIdx = (currentIdx+1) % texts.length;
alt.data('i',currentIdx);
alt.text(texts[currentIdx]);
}
于 2013-06-26T21:41:58.713 回答