2017-04-25 12 views
0

私はtypescriptとangular 2を使用して1ページのウェブサイトを構築しています。私は上部にカルーセルを持っており、カルーセルのスライドの1つにビデオを追加しました。ユーザーが動画の上にマウスを置いた場合、カルーセルを一時停止したいと思います。タイスクリプトでjQueryを使用してカルーセルを制御する方法は?

私がこれまで行ってきたことを説明しましょう。

  • NPMを使用してjQueryをインストールしました。
  • HTMLにブートストラップとjQuery CDNが含まれています。
  • .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

    カルーセルプラグインの定義をインポートしましたか?私はそれがプラグインだと思っています。 – toskv

    +0

    @toskvこれは単なるブートストラップカルーセルです。https://www.w3schools.com/bootstrap/bootstrap_carousel.asp 私は定義をインポートしていません。どうやってするの? – Sanju

    答えて

    0

    私はjQueryのコードを開始する前に

    jQuery.noConflict(); 
    

    を追加することで問題を解決するために管理してきました。ヘルプありがとう

    0

    ブートストラップのタイピング定義をインストールする必要があります。

    これらのnpmは、ここにパッケージhereがあります。

    さらにhereのパッケージがあります。

    +0

    私はインストールしましたが、まだエラーが発生しています。 'Uncaught TypeError:$(...)。カルーセルはHTMLIFrameElementの関数 ではありません。 (home.component.ts:118) HTMLIFrameElement.handle(eval at webpackJsonp.355.module.exports(scripts.bundle.js:14)、:3:13760) – Sanju

    関連する問題