鍍金池/ 問答/HTML/ 在vue中,jquery css方法不生效?

在vue中,jquery css方法不生效?

<div class="project-card even" @click="project(1)">
   <p class="project-name">project2</p>
   <div class="project-content">
       <p>xxxxxxxxxxxxxxxxxxxxx</p>
       <span @click="closeProject(1)">返回</span>
    </div>
</div>
      closeProject:function (index) {
        $('.project-card').eq(index).css({
          'height':'100px',
        })
        console.log($('.project-card').eq(index).css('height'))

      },
      project:function (index) {

        $('.project-card').eq(index).css({
          'height':'100%'
        })
        $('.scroll').animate({
          scrollTop:document.getElementsByClassName('project-card')[index].offsetTop
        });
     
      },

代碼如上,closeProject方法無法修改height高度為100px,為什么?,打印出的高度還是為原來的高度

回答
編輯回答
陪妳哭

因為你點擊了span觸發(fā)了closeProject方法,但是又冒泡觸發(fā)了project方法,
在span的click事件上加上.stop即可

<span @click.stop="closeProject(1)">返回</span>
2018年4月30日 13:27
編輯回答
青黛色

建議不要在 vue 中使用 jquery 控制元素樣式,可以考慮使用 :class、:style。

https://cn.vuejs.org/v2/guide...

2017年6月9日 22:33
編輯回答
互擼娃

我猜應(yīng)該是 height: 100% 的問題,你有設(shè)置 body 的高度為 100% 嗎

2017年6月11日 22:04
編輯回答
乖乖噠

用vue就不要用jquery,或許你對jquery很熟,但是你用vue就應(yīng)該用vue的方法去做,動畫的話vue也有對應(yīng)的方法和標(biāo)簽,還有es6已經(jīng)出來幾年了,是時候改變你的編碼方式了。(個人建議)

2018年8月6日 11:09