私のウェブサイトにはテキストと複数のタグがあり、タグをクリックするたびにランダムな文章を強調表示したい(同時にタグが "アクティブ")。私のコードは次のとおりです。流星のテキスト内のランダムな文章の色を切り替える方法
'click #mytag .selectize-control.multi .selectize-input [data-value]': function(){
if($(event.target).attr('class') == "item"){
$(event.target).removeClass().addClass('item active');
var dataval = $(event.target).attr('data-value');
//to "deactivate" other active tags
$('.selectize-control.multi .selectize-input [data-value]').each(function(){
if($(this).attr('class') == "item active" && $(this).attr('data-value') != dataval){
$(this).removeClass().addClass('item');
}
});
//generate a random random index and find the corresponding sentence to change the color
Meteor.call("generateSentence",asin, function(error, result){
Session.set("colorSentence", result);
});
var sid = Session.get("colorSentence");
var id = 'span#sentence'+sid.toString();
$(id).css("background","yellow");
}
}
1つのタグをクリックするたびに背景色が黄色で強調表示されたランダムな文章を得ることができます。しかし、次回は、別のタグをクリックして色を切り替えると、そのたびに背景色が1行だけになります。誰もそれを行う方法を提案することはできますか?
また、たびに1つのタグを「アクティブ」にするために、すべてのタグをループして状態をチェックし、他のアクティブなタグをオフにします。それはかなりブルートですが、私のタグが多すぎるので少なくとも機能します。しかし、ここにはもっと文章があるので、私はここで同じことをしたくありません。私はまた、毎回他のタグを非アクティブにするより洗練された方法についてのアイデアに感謝します。ありがとう