按钮在流星应用程序的错误位置

时间:2016-05-02 19:24:14

标签: javascript html meteor

我做了一个小应用程序,我的按钮只显示在一个地方。它都在工作,但在错误的地方。看图片。我将离开GitHub repo link。对不起,大部分内容都是西里尔语,但代码当然是英语拉丁语。

Here is a video of my problem (22 sec)

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

问题在于id。 HTML id是唯一的,因此当您执行document.getElementById('skocko')时,您只会获得具有该ID的第一个元素。

相反,为该按钮指定一个skocko类,并按以下方式访问它:

Template.myTemplate.events({
    "click .glasaj":function(event, template){
      template.$(".skocko").toggle();
    }
}

这将在当前模板中选择具有类skocko的元素。

SRC:https://stackoverflow.com/a/27116956/2317712

答案 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";
   }; 

 };