【问题标题】:Polymer Scroll to div issue聚合物滚动到 div 问题
【发布时间】:2014-11-12 05:10:46
【问题描述】:

我正在为我的菜单使用 core-scaffold 和 core-item。我也有自己的元素,由 div id 包裹。当我单击它时,我希望我的核心项目菜单滚动到该 div ......我该怎么做?我尝试使用 jquery,但它不起作用...请参阅下面的信息。

https://groups.google.com/forum/#!topic/polymer-dev/3wZ__kbHDJU

这是我的标题面板:

<core-scaffold responsiveWidth="600px">
  <core-header-panel navigation flex mode="scroll">
    <core-toolbar>Navigation</core-toolbar>
    <core-menu theme="core-light-theme">
        <core-item icon="home" label="Home"></core-item>
        <core-item icon="assignment-ind" label="Who am i"></core-item>  
        <core-item icon="work" label="Works"></core-item>
        <core-item icon="work" label="Skills"><a class="nav" href="#skill"></a></core-item> <!-- WHEN CLICK WILL GO TO SKILL ID DIV -->  
        <core-item icon="settings-phone" label="Contacts"></core-item>
        <core-item icon="link" label="v8"></core-item>
        <core-item icon="link" label="v7"></core-item>
        <core-item icon="link" label="v6"></core-item>
    </core-menu>
  </core-header-panel>

我的元素:

<div id="skills"> <!-- should scroll on this part -->
    <skills-koh></skills-koh> <!-- my element -->
</div>

</core-scaffold>

我正在尝试使用 js 脚本,但它不起作用:

jQuery(".nav").on("click", function(event){
    event.preventDefault(); 
     var dest=null;
     if(($($(this.hash)).offset().top) > ($(document).height()-$(window).height())){
          dest= $(document).height()-$(window).height();
     }else{
          dest=$($(this.hash)).offset().top;
     }
    $($(this.hash)).trigger("click");
    $('html,body').animate({scrollTop:dest}, 500, 'swing' );

 });

还添加到我的 index.html 中:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

【问题讨论】:

    标签: javascript jquery polymer


    【解决方案1】:

    我假设您想滚动到 #skills 元素,对吧?那么:

    1) &lt;a class="nav" href="#skill"&gt;&lt;/a&gt; 有错字

    2) this.hash 没有指代任何东西。根据您的代码,应该是this.prop('href')

    3) 你想在哪里使用那个 jQuery?在组件core-item 内部?如果在外面,那么它将不起作用,因为 &lt;a class="nav"... 元素没有暴露给 DOM,而是包裹在它自己的模板/Shadow DOM 中。

    【讨论】:

    • 你说的错字是什么?,我使用核心支架,我的所有元素都在核心支架内,我也用 div 包装 ids,你能告诉我我需要用 this.hash 做什么来将其更改为“this.prop('href')”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 2014-06-30
    • 2016-04-06
    • 1970-01-01
    相关资源
    最近更新 更多