2017-04-25 52 views
0

我正在使用typescript和angular 2來構建單個頁面網站。我在頂部有一個旋轉木馬,我還在旋轉木馬的幻燈片中添加了一個視頻。如果用戶將鼠標懸停在視頻上,我想暫停輪播。如何在打字稿中使用jQuery控制旋轉木馬?

讓我解釋我迄今爲止所做的。

  • 使用NPM安裝了jQuery。
  • 包含bootstrap和jQuery CDN到 HTML。
  • 在.ts文件中導入jquery。

即使在這一切之後,我無法使用jQuery通過以下方法控制輪播。

在home.component.ts:(課外)

$(document).ready(function() { 
    $(".video").mouseenter(function() { 
      <any>$(this).carousel("pause"); 
    }); 

    $(".video").mouseleave(function() { 
      <any>$(this).carousel("cycle"); 
    }); 
} 

jQuery是工作正常,但它始終顯示錯誤: 屬性 '旋轉木馬' 的類型不存在 '的JQuery' )

我該如何做到這一點?我哪裏錯了?有沒有其他的做這個使用jQuery或僅使用CSS?我在網上查了幾個建議,但找不到工作解決方案。謝謝。

+0

您是否導入了carousel插件的任何定義?我猜這是一個插件。 – toskv

+0

@toskv這只是一個引導輪播https://www.w3schools.com/bootstrap/bootstrap_carousel.asp 我還沒有導入任何定義。怎麼做? – Sanju

回答

0

我已經設法解決這個問題通過啓動jQuery代碼前加

jQuery.noConflict(); 

。感謝您的幫助

0

您必須安裝引導程序的鍵入定義,以便編譯器瞭解它們。

他們的npm可以在這裏找到包是here

您還可以找到更多類型爲here的軟件包。

+0

我已經安裝,但仍然收到錯誤。 'Uncaught TypeError:$(...)。carousel不是HTMLIFrameElement中的函數 。 (home.component.ts:118) at HTMLIFrameElement.handle(eval at webpackJsonp.355.module.exports(scripts.bundle.js:14),:3:13760)...' – Sanju