我做了一个小应用程序,我的按钮只显示在一个地方。它都在工作,但在错误的地方。看图片。我将离开GitHub repo link。对不起,大部分内容都是西里尔语,但代码当然是英语拉丁语。
Here is a video of my problem (22 sec)
感谢您的帮助。
答案 0 :(得分:1)
问题在于id
。 HTML id
是唯一的,因此当您执行document.getElementById('skocko')
时,您只会获得具有该ID的第一个元素。
相反,为该按钮指定一个skocko
类,并按以下方式访问它:
Template.myTemplate.events({
"click .glasaj":function(event, template){
template.$(".skocko").toggle();
}
}
这将在当前模板中选择具有类skocko
的元素。
答案 1 :(得分:0)
检查div定位How to position one element relative to another with jQuery?,使其位置相对于点击的按钮,或为每个skocko分配唯一的skocko ID。
答案 2 :(得分:0)
在您的脚本glasaj.js中执行类似的操作
if (Meteor.isClient) {
Template.glasajDugme.events({
'click .glasaj': function(){
var g = Meteor.user().profile.неискоришћениГласови;
if (g < 1) {
var pos = $(this).position();
// .outerWidth() takes into account border and padding.
var width = $(this).outerWidth();
//show the menu directly over the placeholder
$("#skocko").css({
position: "absolute",
top: pos.top + "px",
left: (pos.left + width) + "px"
}).show();
document.getElementById('skocko').style.display = "inline-flex";
// return "disabled" ;
}
else {
Predlozi.update(this._id, {$inc: {Број_Гласова: 1}}
);
Meteor.users.update(Meteor.userId(), {$inc: {"profile.неискоришћениГласови": -1}}
);
};
}
});
sakrijskocka = function(){
document.getElementById('skocko').style.display = "none";
};
};