panel.setAttribute("模式""瀑布&#34);

时间:2014-08-30 19:18:49

标签: javascript polymer

这是我的核心标题面板

<core-header-panel mode="waterfall-tall">

当我希望它处于瀑布模式而不是瀑布模式时,我会这样做

var panel = document.querySelector('core-header-panel');
panel.setAttribute("mode","waterfall");

它正确地更改了模式,并且元素的行为类似于瀑布,但元素不会缩小到原始大小并保持高度。如何在javascript中将元素再次缩小到正常的瀑布大小?

2 个答案:

答案 0 :(得分:2)

mode被切换时,

core-header-panel应该真正为您处理这个问题。 它应该进行清理并删除它在子节点上设置的任何tall类。在这里提出了一个错误:https://github.com/Polymer/core-header-panel/issues/11

解决方法是:

coreHeaderPanel.querySelector('.tall').classList.remove('tall')

顺便说一句,您不需要使用setAttribute()mode是core-header-panel的已发布属性,这意味着您可以直接将其更新为JS属性:

coreHeaderPanel.mode = 'waterfall';

答案 1 :(得分:1)

如果我没弄错的话,您可以从核心标题中删除“tall”类。

var header = document.querySelector('.tall');
header.className = "core-header";